У меня на рабочем компьютере запущена «считалка» в Octave. Считает она 3..4 суток (а потом - полученные данные надо будет еще с недельку обрабатывать). При этом промежуточные данные заносятся в файлы, их около 16млн. Каждую секунду открывается/закрывается около 1000 файлов. При этом компьютер почти что превратился в однозадачный: периодически зависает «вусмерть», не реагируя на клавиатуру и мышь в течение нескольких секунд; еще чаще - просто подтормаживает, зависая на секунду-другую.
Меры по борьбе с 12309 я проводил, добавил в /etc/sysctl.conf
vm.min_free_kbytes = 65536
vm.overcommit_memory = 2
vm.overcommit_ratio = 80
vm.dirty_bytes = 2097152
vm.dirty_background_bytes = 2097152
top показывает вот что:
Cpu0 : 7.4%us, 1.7%sy, 0.1%ni, 88.3%id, 2.2%wa, 0.0%hi, 0.3%si, 0.0%st
Cpu1 : 2.5%us, 0.9%sy, 0.0%ni, 96.0%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 2.4%us, 1.1%sy, 0.0%ni, 96.3%id, 0.2%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 4.9%us, 0.8%sy, 0.0%ni, 94.2%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
814 eddy 20 0 776m 138m 1432 R 63 6.9 2753:26 octave
free:
Mem: 2064148 2005984 58164 0 222672 76226
Перекидывать структуру данных в /dev/shm поздно: про это я подумал, когда считалка уже сутки отработала. Да и не уверен, что виноват именно диск.
Вопрос: что можно сделать, чтобы система так не тормозила?