我遇到了一個問題,在這個問題中,我的服務器開始因爲服務器的內存已滿並被佔用而開始出現一些正常進程失敗並進行檢查。Linux內存使用記錄
我查看了日誌記錄,發現它殺死了一些Java進程。
我使用「top」命令來查看哪些進程正在佔用最多的內存(修復問題之後),這是一個Java進程。所以實質上,我可以告訴哪些進程正在佔用最多的內存。
我想知道的是,如果有一種方法可以查看當故障發生時哪些進程佔用了最多內存?也許Linux會在特定時間跟蹤或記錄內存使用情況?我真的不知道,但如果我能看到那種細節,那將是非常棒的。
FWIW,你可以在一個使用mlockall用於()或類似的製作過程相對可靠記憶緊縮。 EG:http://stromberg.dnsalias.org/~strombrg/fallback-reboot/ – user1277476
只適用於非常有限的應用。任何系統調用都可能由於內核中的分配失敗而失敗。產生外部過程是不可能的。由於緩衝區耗盡,文件系統I/O可能無限期地掛起。確實,這不是不可能的,但必須非常謹慎地完成。 –