9.4.10. 内存使用
对你来说,这里有两种可用的方法来得到内存的使用情况。
“
/var/log/dmesg
” 中的内核启动信息包含了可用内存的精确总大小。free(1) 和 top(1) 显示正在运行的系统中内存资源的相关信息。
下面是一个例子。
# grep '\] Memory' /var/log/dmesg
[ 0.004000] Memory: 990528k/1016784k available (1975k kernel code, 25868k reserved, 931k data, 296k init)
$ free -k
total used free shared buffers cached
Mem: 997184 976928 20256 0 129592 171932
-/+ buffers/cache: 675404 321780
Swap: 4545576 4 4545572
你可能会觉得奇怪:“dmesg 告诉你 free 为 990 MB,而 free -k 告诉你 free 为 320 MB。这丢失了超过 600 MB ……”。
别担心 “Mem:
” 这行中 “used
” 较大的值以及 “free
” 较小的值,放轻松,你需要查看的是下面的那个(在上面的例子中它们是 675404 和 321780)。
对于我的 MacBook,有 1GB=1048576k 内存(显卡系统用掉一些),我看到的如下。
表 9.16. 报告的内存大小
报告 | 大小 |
---|---|
dmesg 中 total 的大小 | 1016784k = 1GB - 31792k |
dmesg 中的 free | 990528k |
shell 下的 total | 997184k |
shell 下的 free | 20256k(但有效的为 321780k) |