Ubuntu 18.04: динамическая область подкачки измеряет практичный? Исчерпывание памяти разрушило Ubuntu

Моя Ubuntu 18.04 (Бионический Бобр) установка, разрушенная из-за проблемы с из памяти.

У меня есть сообщения как это:

Jan 31 16:56:53 adam-Lenovo-YOGA-720-15IKB kernel: [47980.843963] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=chrome,pid=16144,uid=1000
Jan 31 16:56:53 adam-Lenovo-YOGA-720-15IKB kernel: [47980.843992] Out of memory: Killed process 16144 (chrome) total-vm:1229048kB, anon-rss:84920kB, file-rss:0kB, shmem-rss:140kB
Jan 31 16:56:53 adam-Lenovo-YOGA-720-15IKB kernel: [47980.895646] oom_reaper: reaped process 16144 (chrome), now anon-rss:0kB, file-rss:0kB, shmem-rss:140kB
Jan 31 17:07:20 adam-Lenovo-YOGA-720-15IKB kernel: [    0.000000] microcode: microcode updated early to revision 0xca, date = 2019-10-03
Jan 31 17:07:20 adam-Lenovo-YOGA-720-15IKB kernel: [    0.000000] Linux version 5.3.0-28-generic (buildd@lcy01-amd64-009) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 (Ubuntu 5.3.0-28.30~18.04.1-generic 5.3.13)
Jan 31 17:07:20 adam-Lenovo-YOGA-720-15IKB kernel: [    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.3.0-28-generic root=UUID=e8808971-420e-45c4-96d7-2f490862bf41 ro quiet splash vt.handoff=1
Jan 31 17:07:20 adam-Lenovo-YOGA-720-15IKB kernel: [    0.000000] KERNEL supported cpus:

У меня есть все времена большое выполнение программ (Firefox с несколькими окнами и вкладками, Хромом, Chrome, GIMP, Emacs, LibreOffice и VMware Player для Windows 7).

Сегодня у меня есть 8 ГБ RAM и 8 ГБ файла подкачки:

adam@adam-Lenovo-YOGA-720-15IKB:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.5G        3.7G        351M        692M        3.4G        2.8G
Swap:          8.0G          0B        8.0G

У нас может быть некоторая динамическая подкачка на Linux вместо того, чтобы ограничить его предварительно выделенным размером?

Swappiness:

adam@adam-Lenovo-YOGA-720-15IKB:~$ sysctl vm.swappiness
vm.swappiness = 10
4
задан 1 February 2020 в 18:39

3 ответа

Вы посмотрели видео YouTube, которое обсудило параметр vm.swappiness и затем установило Ваш vm.swappiness=10, который является полностью неправильным при Вашей системе с 8G RAM. Вот почему у Вас "заканчивается память".

Набор vm.swappiness=80 (на основе 8G RAM и 8G ПОДКАЧКА), этот путь...

sudo -H gedit /etc/sysctl.conf # отредактируйте этот файл

Ищите существующее vm.swappiness= запись...

CTRL+f vm.swappiness

  • Если найдено, редактирование это для высказывания vm.swappiness=80

  • Если не найденный, добавить vm.swappiness=80 в конце файла

Сохраните свои редактирования и выйдите из gedit

sudo sysctl -p

Примечание: На основе того, какие приложения Вы запускаете, Вы могли бы также быть лучше всего обслужены путем добавления большего количества RAM и изменения vm.swappiness к другому значению. Для получения преимущества скорости чередования памяти сделайте оно в равной RAM размера засовывает пар, таким образом, в случае, добавьте другого 8G палка RAM (если у Вас есть один 8G палка RAM, установленная теперь). Если у Вас будет две палки 4G, установленные теперь, то Вам будет нужно два 8G палки RAM.

7
ответ дан 20 February 2020 в 23:04

Ответ от Из подкачки - что происходит? объясняет, что динамично измеряющая область подкачки является рискованной и предлагает способ протестировать ту гипотезу.

Был пакет, SwapSpace, с которым можно столкнуться, но он больше не сохраняется.

Альтернативный сервис dphys-своп-файла, детализированный при динамичном росте файла подкачки на Debian, не может быть столь динамичным, как Вам нужно.

Решение от heynnema выше и должно быть реализовано перед чем-либо еще.

5
ответ дан 20 February 2020 в 23:04

Естественно, добавление большего количества RAM является лучшим решением.

Однако иногда это непрактично, поскольку это раньше было для меня. Из-за этого я иногда включал бы файл подкачки, когда система начала становиться действительно вялой. Это дало бы мне некоторое время для уничтожения то, что я хотел уничтоженный.

https://linuxize.com/post/create-a-linux-swap-file/

  1. sudo fallocate -l 4G /swapfile # или независимо от того, что Вы хотите назвать его, и везде, где Вы хотите поместить его.
  2. sudo chmod 600 /swapfile
  3. sudo mkswap /swapfile

Затем когда система становится вялой, выполненной sudo swapon /swapfile. Когда Вы считаете его не необходимым больше, работаете sudo swapoff /swapfile.

Править: fallocate знают для работы над ext4, но сбоем на XFS. dd if=/dev/zero of=/swapfile bs=1M count=4096 работы над XFS.

3
ответ дан 20 February 2020 в 23:04

Другие вопросы по тегам:

Похожие вопросы: