[20161012]linux free的補充.txt

lfree發表於2016-10-12

[20161012]linux free的補充.txt

--前一陣子寫的:
http://blog.itpub.net/267265/viewspace-2124363/

下面是關於buffers和cached的英文資料:

Buffers are associated with a specific block device, and cover caching of filesystem metadata as well as tracking
in-flight pages. The cache only contains parked file data. That is, the buffers remember what's in directories, what
file permissions are, and keep track of what memory is being written from or read to for a particular block device. The
cache only contains the contents of the files themselves.

-- buffers 快取,主要用於塊裝置快取,例如使用者目錄、inode值等(ls大目錄可以看到這個值增加)
-- cached  快取,主要用於快取檔案。

--有一些理解不是很清除.

$ free -m
             total       used       free     shared    buffers     cached
Mem:        129161      19398     109762          0        435       7910
-/+ buffers/cache:      11053     118108
Swap:        30718         10      30707

$ dd if=/dev/zero of=aaaaaaa bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 1.86119 seconds, 563 MB/s

$ free -m
             total       used       free     shared    buffers     cached
Mem:        129161      20412     108748          0        437       8910
-/+ buffers/cache:      11064     118096
Swap:        30718         10      30707

--我建立1個1000M的檔案,cached從7910=>8910.buffers幾乎不變。

# dd if=/dev/cciss/c0d0p6 of=/dev/null bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 12.1073 seconds, 86.6 MB/s

--注意,我看了一些網站的blog,if與of是寫反的,應該也能測試出來。這樣你必須保證這個塊裝置沒有內容,總之千萬別寫反了。

# free -m
             total       used       free     shared    buffers     cached
Mem:        129161      28231     100929          0       8039       8910
-/+ buffers/cache:      11281     117880
Swap:        30718         10      30707

# echo 1 >| /proc/sys/vm/drop_caches
# free -m
             total       used       free     shared    buffers     cached
Mem:        129161      13252     115909          0          0       2277
-/+ buffers/cache:      10973     118187
Swap:        30718         10      30707

--我前一個測試有一些問題實際上echo 1 >| /proc/sys/vm/drop_caches,buffers與cached好像都清除的。不知道為什麼?
--有一些概念還不是很清楚。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2126155/,如需轉載,請註明出處,否則將追究法律責任。

相關文章