Я испытываю время от времени, когда я сильно работаю, что мои системы (Ubuntu 13.10) замерзают. Syslog говорит, что процесс должен был быть убит до нехватки памяти.
Killed process 4693 (chromium-browse) total-vm:1386284kB, anon-rss:31688kB, file-rss:3424kB
Это происходит, даже если мой своп довольно пуст. У меня есть 4 ГБ оперативной памяти и раздел подкачки 4 ГБ.
Вверх говорит:
KiB Mem: 3932056 total, 2828880 used
KiB Swap: 4079612 total, 332492 used,
Так много доступного места. Но потом я узнал, что некоторые процессы вообще не используют swap. Кажется, они едят всю мою физическую RAM, даже не рассматривая возможность замены некоторых страниц на диск. Я использовал «верхний» SWAP-столбец для проверки использования SWAP для каждого процесса.
Это, например, Браузера Chromium и VirtualBox. Другие, такие как Firefox, Netbeans и т. Д., Меняют.
Итак, кто «решает», какой процесс меняет, а что нет? По моему мнению, это делается ядром, потому что из перспективы перспективы приложения память - это не различие между свопами и физической оперативной памятью. Это правда или у разработчика Chromium есть приложение, использующее только физическое ОЗУ?
Спасибо за вашу помощь!
Ядро Linux «решает» это. Он делает это с настраиваемым параметром, называемым swappiness.