linux系統檢視記憶體使用率
Linux下看記憶體和CPU使用率一般都用top命令,但是實際在用的時候,用top檢視出來的記憶體佔用率都非常高,如:
Mem: 4086496k total, 4034428k used, 52068k free, 112620k buffers
Swap: 4192956k total, 799952k used, 3393004k free, 1831700k cached
top –M看更直觀,以M為單位
接近98.7%,而實際上的應用程式佔用的記憶體往往並沒這麼多,
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25801 sybase 15 0 2648m 806m 805m S 1.0 20.2 27:56.96 dataserver
12084 oracle 16 0 1294m 741m 719m S 0.0 18.6 0:13.50 oracle
27576 xugy 25 0 986m 210m 1040 S 1.0 5.3 28:51.24 cti
25587 yaoyang 17 0 1206m 162m 3792 S 0.0 4.1 9:21.14 java
看%MEM這列的數字,按記憶體排序後,把前幾名加起來,撐死了才不過55%,那剩下的記憶體都幹嘛用了?
一般的解釋是Linux系統下有一種思想,記憶體不用白不用,佔用了就不釋放,聽上去有點道理,但如果我一定要知道應用程式還能有多少記憶體可用呢?
仔細看top關於記憶體的顯示輸出,有兩個資料buffers和cached,在Linux系統下的buffer指的是磁碟寫快取,而cache則指的是磁碟讀快取。
(A buffer is something that has yet to be "written" to disk.
A cache is something that has been "read" from the disk and stored for later use.)
而這兩塊是為了提高系統效率而分配的記憶體,在記憶體富餘的時候,作業系統將空閒記憶體利用起來,而有記憶體需求時,系統會釋放這部分的記憶體供應用程式使用。
這樣,真正應用程式可用的記憶體就是free+buffer+cache,上面的例子就是:
52068k + 112620k + 1831700k = 1996388k
而已用記憶體則是used-buffer-cache,上面的例子為:
4034428k - 112620k - 1831700k = 2090108k
Linux下檢視記憶體還有一個更方便的命令,free:
$ free
total used free shared buffers cached
Mem: 4086496 4034044 52452 0 112756 1831564
-/+ buffers/cache: 2089724 1996772
Swap: 4192956 799952 3393004
Mem:這列就是用top命令看到的記憶體使用情況,而-/+buffers/cache這列就是我們剛剛做的計算結果,used-buffer-cache/free+buffer+cache
也可以加-m或者-g引數檢視按MB或者GB換算的結果。
$ free -m
total used free shared buffers cached
Mem: 3990 3906 83 0 90 1786
-/+ buffers/cache: 2029 1961
Swap: 4094 781 3312
這樣,真正應用程式的記憶體使用量就可以得出來了,上面的例子中記憶體佔用率為51.1%。
例如:
# free -m
total used free shared buffers cached
Mem: 4229 2834 1395 0 62 2548
-/+ buffers/cache: 223 4006 //實體記憶體使用223M,剩餘4006M
Swap: 8001 0 8001
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26217983/viewspace-1123843/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何檢視linux系統中空閒記憶體/實體記憶體使用/剩餘記憶體Linux記憶體
- UNIX系統記憶體檢視方法記憶體
- Linux系統CPU和記憶體使用率統計命令Linux記憶體
- 在Linux中,如何檢視linux中記憶體使用率最高的程序?Linux記憶體
- 檢視linux可用記憶體Linux記憶體
- Linux檢視記憶體資訊Linux記憶體
- linux檢視cpu、記憶體、版本資訊Linux記憶體
- Linux下檢視記憶體,CPU資訊Linux記憶體
- linux aix檢視CPU和記憶體LinuxAI記憶體
- 檢視swap記憶體記憶體
- 檢視LINUX程式記憶體佔用情況Linux記憶體
- linux下檢視CPU、記憶體、硬碟方法Linux記憶體硬碟
- linux下檢視記憶體使用情況Linux記憶體
- 在linux檢視記憶體的大小(轉)Linux記憶體
- 檢視 Linux 系統中程式和使用者的記憶體使用情況Linux記憶體
- 記憶體分配統計檢視 | 全方位認識 sys 系統庫記憶體
- 17 種檢視 Linux 實體記憶體的方法Linux記憶體
- win10系統怎麼檢視記憶體條頻率Win10記憶體
- 如何檢視Linux的記憶體使用狀況Linux記憶體
- Linux檢視CPU和記憶體使用情況Linux記憶體
- vmstat ,iostat系統CPU、記憶體、磁碟使用率報告iOS記憶體
- 【AIX】AIX系統下記憶體使用率和交換空間使用率高.docAI記憶體
- Linux檢視CPU使用率Linux
- JRockit jstat 檢視系統記憶體資源使用情況JS記憶體
- [轉]HPUX 檢視系統資訊(CPU,主機型號,實體記憶體等)UX記憶體
- GDB檢視記憶體(x 命令)記憶體
- SUSE檢視CPU和記憶體記憶體
- Linux記憶體子系統——Locking Pages(記憶體鎖定)Linux記憶體
- linux下檢視最消耗CPU、記憶體的程式Linux記憶體
- Linux檢視佔用記憶體的程式指令碼Linux記憶體指令碼
- Linux核心記憶體管子系統分析Linux記憶體
- Linux AS 使用記憶體檔案系統Linux記憶體
- Linux系統釋放cache記憶體Linux記憶體
- win10系統檢視電腦記憶體條型號的方法Win10記憶體
- 檢視CentOS伺服器的cpu、記憶體、作業系統版本資訊CentOS伺服器記憶體作業系統
- Linux 檢視記憶體使用情況的幾種方法Linux記憶體
- linux 檢視記憶體插槽數、最大容量和頻率Linux記憶體
- adbshelldumpsys命令檢視記憶體記憶體