У меня проблемы с запуском e2fsck из-за ограничений памяти, как подробно описано в этот вопрос. В ходе исследования я натолкнулся на кое-что, что может представлять более общий интерес, поэтому я поставлю это в отдельный вопрос.
При запуске e2fsck использование памяти на машине составляет около 99%. Также начинает происходить обмен местами. Однако странно то, что это начало вывода top -M
:
top - 14:09:37 up 1 day, 4:14, 3 users, load average: 1.00, 1.00, 0.92
Tasks: 127 total, 2 running, 125 sleeping, 0 stopped, 0 zombie
Cpu(s): 12.4%us, 1.8%sy, 0.0%ni, 81.1%id, 4.6%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1004.961M total, 987.484M used, 17.477M free, 664.469M buffers
Swap: 21.953G total, 72.574M used, 21.882G free, 68.512M cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7627 root 20 0 164m 152m 61m R 100.0 15.2 49:18.25 e2fsck
8340 root 20 0 2696 996 752 R 2.0 0.1 0:00.01 top
1 root 20 0 2896 8 4 S 0.0 0.0 0:01.87 init
Таким образом, несмотря на то, что общее использование памяти составляет 99%, e2fsck показывает только 15,2%, и других операций с памятью нет.
Куда делась вся память? Является ли такое поведение уникальным для e2fsck, или это «нормально» (нежелательно, но понятно). Я не знаю, как память может использоваться чем-либо, кроме запущенного процесса.
Это нормально. Linux использует свободную память для буферизации доступа к диску.