fedora core free -m 與系統監視器

fedora core free -m 與系統監視器

為什麼我在運行free -m與系統監視器時會得到不同的數字?我已經用 flash 運行 Firefox 幾天了,我的機器變得很慢;它佔用了我所有的 1GB 內存,所以我關閉了 firefox 和 npviewer.bin,系統內存現在顯示我的 ram 為 192Mb,哪裡free -m說的是 647Mb?

任何想法,我認為系統監視器是正確的。

答案1

在任何極其複雜的作業系統下,都沒有明確的概念來說明特定應用程式使用了多少內存,或者有多少內存是可用的。併發症的主要來源是:

  • 如果有交換空間,空閒記憶體是否包含空閒交換空間?如果不這樣做,那交換還有什麼意義呢?但如果您這樣做,您可能始終擁有大量可用內存,即使您的系統因缺乏 RAM 而出現抖動(即交換大量)。
  • 記憶有很多用途。主要的兩個是應用程式分配的記憶體和專用於磁碟快取的記憶體。在資源不匱乏的系統上,這兩者通常具有相同的數量級。如果您只計算未用於任何目的的內存,那麼內存很少是正常的:磁碟緩存在需要內存之前不會消失。但是,如果將磁碟快取包含在可用記憶體中,您可能會認為可以用應用程式記憶體將其全部填滿,但隨後您會因缺少磁碟快取而陷入困境。
  • 共享記憶體使得計算分配給特定應用程式的記憶體部分變得困難。共享記憶體包括共享庫和多個應用程式開啟的檔案的磁碟快取等內容。

因此,您報告的兩個數字可能都是正確的,只是計算了「可用記憶體」的不同概念。 (並free報告了幾個數字;您沒有說 647MB 是哪一個 — 在該-/+ buffers/cache行中,磁碟快取算作可用內存,而在該Mem行中,則不算作可用內存。)

相關內容