Intereting Posts
Клавиша ESC вызывает небольшую задержку в терминале из-за его поведения Alt + Причины для CTRL + PrtScr + R + E + I + S + U + B Производить команды произвольно Какой самый простой способ подключения хостов в одной подсети? Можно ли ссылаться на глобальную переменную, даже если локальная область существует с тем же именем? Что означает точки на пути? Как сделать dns более быстрым Как скопировать папку с удаленного компьютера в мою систему с помощью ssh или любым другим способом Переупорядочить поля / символы с помощью команды cut Для всех каталогов – переименовать все подкаталоги с префиксом Нужно ли клиентам CUPS устанавливать драйверы локально? Создать мигающий текст с эхо-символами Что означает, что сообщение электронной почты является «старым»? Использование rsync для копирования с локального на удаленный сервер с помощью cronjob с запросом пароля Сбросить менеджер пакетов emacs

Советы по использованию Linux без раздела подкачки

Раньше я немного устал от проблем с нехваткой памяти в Linux, где виртуальная память начинает меняться и забивать активность диска, а машина замедляется.

Поэтому, когда я установил Ubuntu на своем MacBook Pro, я заметил, что у него 8 ГБ памяти, и я сказал себе: «Кажется, это достаточно, я думаю, что я избегу проблем с заменой и не резервирую раздел для виртуальной памяти. в любом случае, нужно дисковое пространство ».

Что ж, к моему удивлению, выясняется, что пользовательский опыт в условиях отсутствия памяти с Linux без виртуальной памяти намного больше, чем я ожидал.

Если я случайно скомпилирую слишком много больших файлов на C ++ сразу (просто сделать с «make -j6») или что-то еще, что случайно уничтожает память машины, прежде чем я заметил, вместо этой программы, сбой и выдача ошибки, как я ожидал, выясняется, что поведение вместо этого заключается в том, что весь мой рабочий стол перестает отвечать на запросы, и я вынужден жестко перезагрузить компьютер! Из-за этого иногда я теряю много времени или работы!

Я бы исправил это, вернувшись и переразделив, чтобы дать себе некоторую виртуальную память, но, черт возьми, я не могу позволить себе это сделать прямо сейчас. Есть ли какие-либо советы по тому, как Linux будет более оперативно обрабатывать не-память?

Я бы исправил это, вернувшись и переразделив, чтобы дать себе некоторую виртуальную память, но черт побери ..

Вам не нужно иметь полный раздел, предназначенный для обмена, и вам не нужно переразделять.

Создать своп как файл довольно просто. Просто создайте большой пустой файл, запустите mkswap, а затем добавьте swap.

 # create an big empty 1GB file (or whatever size you like) dd if=/dev/zero of=/swapfile bs=1M count=1024 # format the file as swap mkswap /swapfile # turn it on. swapon /swapfile 

Если вы хотите сделать это постоянным, добавьте его в свой fstab

 /swapfile swap swap defaults 0 0 

Когда я делаю большие компиляции (qtwebkit, я смотрю на вас), я использую контрольную группу, чтобы предотвратить замену до смерти или другие неудачные побочные эффекты. Для моего ящика 6G я делаю это:

 cgcreate -g memory:emerge echo "4G" > /sys/fs/cgroup/memory/emerge/memory.limit_in_bytes echo "4G" > /sys/fs/cgroup/memory/emerge/memory.memsw.limit_in_bytes cgexec -g memory:emerge tmux 

Если возникает условие OOM, единственным процессом, который будет убит, является компиляция.