這裏是基於Linux2.6.32.12我的系統:
1它包含20個進程佔用大量CPU USR的 2它需要寫速度100M/s的磁盤的數據,並將這些數據不會最近使用。如何在我的linux系統中停止磁盤I/O的頁面緩存?
我想到:
它運行穩定和磁盤I/O會不會影響我的系統。
我的問題:
在開始時,系統按我的想法運行。但隨着時間的推移,Linux會爲磁盤I/O緩存大量數據,導致物理內存減少。最後,內存不足,那麼Linux會交換進出我的進程。它會導致I/O問題,很多CPU時間被用於I/O。
我有什麼嘗試:
我試圖解決的問題,通過「FSYNC」每次我寫一個大block.But物理內存仍然減少,而緩存增加。
如何到此爲止頁面緩存也沒用,我
更多資料:
當狀元秀免費46963米,一切都很好,包括CPU%WA低,vmstat顯示沒有SI左右。
當Top顯示免費的273m時,%wa太高而影響我的進程,而vmstat顯示很多si等等。
爲什麼這對你很重要?閱讀http://www.linuxatemyram。com/ – 2013-05-13 09:15:35
根據linuxatemyram.com的說法,「如果應用程序需要更多的內存,他們只是從磁盤緩存中取回它們,它們不會開始交換。」
但在我的情況下,我看到交換。 – wilsonwen 2013-05-13 09:35:47
你爲什麼認爲改變這種行爲會改善整體表現? – 2013-05-13 10:21:55