linux系統經過2種方法進行內存管理,「調頁算法」,「交換技術」linux
1.調頁算法是將內存中最近不常使用的頁面換到磁盤上,把常使用的頁面(活動頁面)保留在內存中供進程使用。 2.交換技術是系統將整個進程,而不是部分頁面,所有換到磁盤上。正常狀況下,系統會發生一些交換過程。算法
頁面調度一般容易和交換的概念混淆,頁面調度是指把一個進程所佔內存的空閒部分傳輸到磁盤上,而交換是指當系統中實際的內存已不夠知足新的分配需求時,把整個進程傳輸到磁盤上,交換活動一般意味着內存不足 3.關於page 詳細信息 cat /proc/meminfo 4.hugepage 技術爲了減少cpu維護物理內存與虛擬內存的映射表時間。性能
5.vmstat命令查看 -s 查看內存使用詳情 -d 查看硬盤使用 r: 運行隊列中進程數量,這個值也能夠判斷是否須要增長CPU。(當這個值超過了CPU數目,就會出現CPU瓶頸了) b: 等待IO的進程數量 注意:若是cache的值大的時候,說明cache處的文件數多,若是頻繁訪問到的文件都能被cache處,那麼磁盤的讀IO bi會很是小。 swap(page率) si: 每秒從交換區寫到內存的大小,由磁盤調入內存 so: 每秒寫入交換區的內存大小,由內存調入磁盤 注意:內存夠用的時候,這2個值都是0,若是這2個值長期大於0時,系統性能會受到影響,磁盤IO和CPU資源都會被消耗。有些朋友看到空閒內存(free)不多的或接近於0時,就認爲內存不夠用了,不能光看這一點,還要結合si和so,若是free不多,可是si和so也不多(大多時候是0),那麼不用擔憂,系統性能這時不會受到影響的。優化
IO:(如今的Linux版本塊的大小爲1kb) bi: 每秒讀取的塊數 bo: 每秒寫入的塊數 注意:隨機磁盤讀寫的時候,這2個值越大(如超出1024k),能看到CPU在IO等待的值也會越大。隊列
系統: in: 每秒中斷數,包括時鐘中斷。 cs: 每秒上下文切換數。 注意:上面2個值越大,會看到由內核消耗的CPU時間會越大。進程
CPU(以百分比表示): us: 用戶進程執行時間百分比(user time) 注意: us的值比較高時,說明用戶進程消耗的CPU時間多,可是若是長期超50%的使用,那麼咱們就該考慮優化程序算法或者進行加速。內存
sy: 內核系統進程執行時間百分比(system time) 注意:sy的值高時,說明系統內核消耗的CPU資源多,這並非良性表現,咱們應該檢查緣由。 wa: IO等待時間百分比 注意:wa的值高時,說明IO等待比較嚴重,這可能因爲磁盤大量做隨機訪問形成,也有可能磁盤出現瓶頸(塊操做)。 id: 空閒時間百分比資源
Memory(內存): inact: 非活躍內存大小(當使用-a選項時顯示) active: 活躍的內存大小(當使用-a選項時顯示)內存管理