У мене ця проблема вже давно, і я, здається, не можу її зрозуміти, в основному моя система Linux (32bit 3.2.6-3.fc16.i686.PAE) відмовляється використовувати своп. Коли я біжу
$ tail /dev/zero
tail: memory exhausted
він взагалі не застосовує своп .. він просто гине після використання фізичної ОЗУ. Ось відповідні деталі.
$ free -m
total used free shared buffers cached
Mem: 8076 4652 3423 0 123 543
-/+ buffers/cache: 3985 4090
Swap: 8192 116 8076
$ cat /proc/sys/vm/swappiness
60
$ ulimit -m
unlimited
$ cat /proc/sys/vm/overcommit_ratio
50
$ cat /proc/sys/vm/overcommit_memory
0
Я спробував встановити його на 1:
# sysctl vm.overcommit_memory=1
vm.overcommit_memory = 1
$ cat /proc/sys/vm/overcommit_memory
1
і спробував ще раз, той же результат. Якісь ідеї?
vm.overcommit_memory=1
рядок і просто перевірив, що в моїй системі було встановлено vm.overcommit_memory=0
. Я щойно змінив його, і оновлю це питання, коли я знаю, чи це хитрість чи ні. Дякую!
tail /dev/zero
і це не вийшло. Зміна все ще не використовується, але free
говорить мені, що заміна ввімкнена! Арг.