3
A
回答
6
我假設這裏的「顛簸」是指所有進程的活動內存集太大而無法放入內存的情況。在這種情況下,每個上下文切換都會導致讀取和寫入磁盤,並且最終服務器可能會變得如此糟糕以至於硬件重新啓動是重新控制該盒子的唯一選項。
在/ proc/vmstat中有swin和swout的全局計數器 - 如果兩者在一段較短的時間間隔內增加,則可能出現抖動問題。
在流程級別,它是非平凡的AFAIK。/proc/$ pid/status包含一些有用的東西,但不包含swin和swout。從2.6.34開始,有一個VmSwap條目,使用的交換總量,以及/ proc/$ pid/state中的變量#12是主要頁面錯誤的數量。/proc/$ pid/oom_score也值得研究。如果VmSwap增加和/或主要頁面錯誤數量增加和/或oom_score非常高,那麼該過程很可能會導致顛簸。
我寫了一個腳本thrash-protect - 它在https://github.com/tobixen/thrash-protect可用 - 它試圖找出哪些進程導致抖動和臨時暫停進程。它對我來說非常有用,並最終拯救了我從一些服務器重新啓動。
相關問題
- 1. 顛簸 - 反覆過程
- 2. 什麼是「堆棧顛簸」?
- 3. 顛簸組合在一起
- 4. 顛簸 - elasticsearch響應
- 5. 如何檢測一個進程是否已經完成執行
- 6. 如何檢查一個文件是否被另一個進程(Java/Linux)打開?
- 7. 開源庫或簡單的方法來檢測iPhone的'顛簸'?
- 8. 音頻flash播放器與顛簸進度條
- 9. 檢測角度是否超過180度
- 10. 如何使精靈運動中的一個顛簸
- 11. Linux:如何檢測進程是如何開始的
- 12. 如何檢查一個符號是否是一個過程
- 13. 數據庫問題 - 顛簸 - 什麼是?
- 14. 顛簸底部元素
- 15. 顛簸和皺球在Matlab
- 16. 顛簸參考第一元件
- 17. 檢測過程是否是系統進程或不
- 18. Java - 如何檢查另一個(非Java)進程是否在Linux上運行
- 19. 如何通過Java檢測某個特定進程是否在Windows下運行?
- 20. 中刪除條目,如果在顛簸
- 21. C#如何檢測如果文件是在另一個進程
- 22. 如何檢查進程是否處於掛起狀態(Linux)
- 23. 如何檢查進程是否在Red Hat Linux上運行?
- 24. 如何檢查Linux中是否正在運行進程?
- 25. 如何在Linux上檢查進程在Python中是否存在?
- 26. 如何檢查進程是否正在運行 - Linux
- 27. 檢測一個進程是否已在ubuntu中停止
- 28. 檢測一個進程是否仍在運行
- 29. 如何檢查進程是否與另一進程通信?
- 30. 檢測進程是否空閒
你的意思是顛簸磁盤? 'atop'是監控磁盤I/O和內存/ CPU使用情況的好工具。 http://www.atoptool.nl/ – 2012-08-15 16:46:11
@LeeNetherton yes抖動磁盤...交換頁面進出 – Medicine 2012-08-15 16:50:00
'vmstat'可以幫助 – 2012-08-15 21:24:33