Linux
e2fsck 執行時記憶體在使用什麼?
由於記憶體限制,我在執行 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 使用空閒記憶體來緩衝磁碟訪問。