Linux

Linux(預設情況下)記憶體磁碟中有關文件的資訊多長時間?

  • August 22, 2013

我正在測試我對某些程式碼所做的一些更改是否有效。為此,我需要知道文件系統記憶體通常是如何工作的。我假設預設值是我們得到的,因為我們可能沒有對此進行任何有趣的調整。

本質上,如果我從我的程式碼中問“這個文件是否存在?”,答案會在“x”毫秒內返回。如果幾分鐘後我再問一次,答案就會回來得更快,所以我猜那裡有一些記憶體。

如果我想再次測試,記憶體刷新,我應該等待多長時間,所以它會再次“長時間”?(我想看看我是否修復了我的網路應用程序中的性能問題,但我只能知道如果有關文件存在的資訊沒有被記憶體,它就被修復了,因為如果是,它執行得很快)

我知道這不是最有說服力的問題,答案可能是“視情況而定”,我要求一個理智的預設值。換句話說,如果我在 3 小時、6 小時或其他時間再次測試,我可以指望它不會被記憶體嗎?

據我所知…這是一個 Ubuntu 伺服器,核心版本:3.9.3-x86-linode52,Ubuntu 版本:Ubuntu 12.04.3 LTS,託管在 Linode 上。文件系統是ext3

謝謝!

丹尼爾

您可能遇到的是inode caching,因為exists只需查看 inode 即可滿足查詢。文件記憶體有點不同。令人高興的是,Linux 確實為您提供了一種通過/proc/sys/vm/dropcaches.

To free dentries and inodes:
   echo 2 > /proc/sys/vm/drop_caches

引用自:https://serverfault.com/questions/533068