Linux的記憶體使用
[root@ntkbr06 proc]# free
total used free shared buffers cached
Mem: 1030528 1021884 8644 0 88832 793816
-/+ buffers/cache: 139236 891292
Swap: 2096472 112268 1984204
Mem:表示實體記憶體使用統計
-/+ buffers/cached:表示實體記憶體的緩存統計
Swap:表示硬盤上交換分區的使用情況
為什麼剩下的記憶體只剩下8M,這是因為Linux認為記憶體沒有使用非常的可惜,所以把空的記憶體
當成Cache及Buffer使用,等到程式需要使用記憶體時,才將Cache、Buffer空出來使用。
第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別:
第二行是從OS的角度來看, buffers/cached 都是屬於被使用,所以可用記憶體是8M
第三行是從應用程式角度來看,當應用程式需再用到記憶體的時候,會回收buffer/cached的空間,所以可用記憶體是890M
r1_free + r1_buffers + r1_cached = r2_free
8644 + 88832 + 793816 = 891292 --> 記憶體中可用的部份
r2_used + r2_free = r1_total
139236 + 891292 = 1030528 --> 實際記憶體大小
因此,程式實際佔用的記憶體為-/+ buffers/cache中used的部份
-
Windows7 / Windows8 kill process Linux下要刪除某個程序通常會使用 ps 配合 kill 來刪除程序。 例如:ps -ef |grep [PROCESS NAME] kill -9 [PID] 在Windows下,通常是...
-
利用Win 10的工作排程器來設定每日自動執行的批次檔,單獨執行批次檔沒問題,但是放在排程上就是無法執行。 後來試了幾種網路上提供的方式,其注意的事項如下: 1、在「安全性選項」選擇「只有使用者登入時才執行」並取消「以最高權限執行」。 2、在「設定」中選擇「Win...
-
因為寫程式時剛好用到sin、cos等數學函數,但是傳入值都是徑度(單位圓上角度所對的弧長為該角度的徑度), 而不是角度,所以找到了換算的方法,順道也記錄下來。 已知 pi=3.1415 已知 圓周長=半徑*2*pi 已知 一個圓有360度 所以 1徑度=半徑...