Моя 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
Вы посмотрели видео 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.
Ответ от Из подкачки - что происходит? объясняет, что динамично измеряющая область подкачки является рискованной и предлагает способ протестировать ту гипотезу.
Был пакет, SwapSpace, с которым можно столкнуться, но он больше не сохраняется.
Альтернативный сервис dphys-своп-файла, детализированный при динамичном росте файла подкачки на Debian, не может быть столь динамичным, как Вам нужно.
Решение от heynnema выше и должно быть реализовано перед чем-либо еще.
Естественно, добавление большего количества RAM является лучшим решением.
Однако иногда это непрактично, поскольку это раньше было для меня. Из-за этого я иногда включал бы файл подкачки, когда система начала становиться действительно вялой. Это дало бы мне некоторое время для уничтожения то, что я хотел уничтоженный.
https://linuxize.com/post/create-a-linux-swap-file/
sudo fallocate -l 4G /swapfile
# или независимо от того, что Вы хотите назвать его, и везде, где Вы хотите поместить его.sudo chmod 600 /swapfile
sudo mkswap /swapfile
Затем когда система становится вялой, выполненной sudo swapon /swapfile
. Когда Вы считаете его не необходимым больше, работаете sudo swapoff /swapfile
.
Править: fallocate
знают для работы над ext4, но сбоем на XFS. dd if=/dev/zero of=/swapfile bs=1M count=4096
работы над XFS.