日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 优化内存分配,Linux性能优化 第三章 性能工具:系统内存

發布時間:2024/8/5 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 优化内存分配,Linux性能优化 第三章 性能工具:系统内存 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

3.1內存性能統計信息

3.1.1內存子系統和性能

和CPU相比,內存的讀寫速度都大大落后于CPU。為了彌補這個差距,通常CPU會采用高速緩存的機制(高cache)。

3.1.2內存子系統(虛擬存儲器)

在物理內存尋址時,Linux將其分成塊或者內存“頁”。內存頁面過小,會造成管理內存時產生大的花銷;內存頁面大時,則容易造成內存的浪費。

l交換(物理內存不足)

內存的大小是固定的,當內存不夠用時,內核會使用硬盤作為臨時存儲器,這個硬盤空間稱為交換分區(swap space)。

交換分區確實能夠讓大內存的程序運行,但是卻非常慢。如果系統性能不佳,有可能是系統使用了較多的swap。

l緩沖區(buffer)和緩存(cache)(物理內存太多)

如果你的內存很多,系統不會浪費不用的。系統會把多出來的內存用來做緩沖或者緩存使用,這樣能大大加快程序的讀寫。

應用程序寫入到磁盤的速度是很慢的,Linux為了能夠讓程序能夠馬上執行,會把文件數據保存到緩沖區,然后在某個時間,再把緩沖區的數據寫入到磁盤。

緩存和緩沖正好倒過來,Linux會把程序用過的數據放在內存中,這樣下次使用的時候就不用去到磁盤讀取了。

緩沖和緩存都是為了提高系統性能,提高程序的運行速度。雖然看起來系統free(空余)的內存很少,但這是個好事。

l活躍和非活躍內存

活躍內存是指當前進程使用的內存,不活躍的內存是已經被分配了,但暫時還沒有使用的內存。

3.2Linux性能工具:CPU與內存

3.2.1 vmstat

vmstat統計信息說明swap當前交換到硬盤的內存總量

free未被系統使用的物理內存總量

buff系統共緩沖區的大小

cache緩存區的大小

si上次采樣中,從硬盤進來的內存交換速率

so上次采樣中,到硬盤去的內存交換速率

vmstat的輸出,默認是平均模式。

vmstat –a可以查看活躍和非活躍的內存

vmstat 1 5查看過去五秒的采樣數據,可以看出沒有內存數據的交換。

vmstat –s可以查看系統的統計信息

3.2.2 top

具體用法可以參考CPU章節的top的解析。

3.2.3 free

free –m的輸出

free內存部分統計信息說明total物理內存與交換空間的總量

used使用的物理內存和交換分區的容量

free未使用的物理內存和交換分區的容量

-/+ ? buffers/cache:對于used來說,把buff和cache當成已使用的內存,顯示的是內存使用的總和;對于free來說,把buff和cache當作空閑內存統計的內存總和。

3.2.4 slabtop

slabtop實時顯示內核是如何分配其各種緩存的,以及這些緩存的被占用情況。在內部,內核有一系列的緩存,他們由一個或者多個分片(salb)構成。

默認情況下slab會每3秒更新一次數據,可以看出多數的分片都是活躍的。

3.2.5 sar

sar給出的Linux內存子系統的信息相當完整,除了能看到絕對值,還能提供一些重要數值的變化率。此外,sar還能統計CPU和磁盤I/O的統計數據。

sar –r 1 5過去5秒的內存信息[root@localhost ? ~]# sar -r 1 5

Linux ? 2.6.18-308.el5 (localhost) ?? 2018年01月15日

18時40分40秒kbmemfree kbmemused? %memused kbbuffers? kbcached kbswpfree kbswpused? %swpused? ? kbswpcad

18時40分41秒102816?? 3940916???? 97.46??? ? 801872?? 1369084?? 4023580??? ? 170716????? 4.07???? 50584

18時40分42秒102816?? 3940916???? 97.46??? ? 801872?? 1369084?? 4023580??? ? 170716????? 4.07???? 50584

18時40分43秒102816?? 3940916???? 97.46??? ? 801872?? 1369084?? 4023580??? ? 170716????? 4.07???? 50584

18時40分44秒102816?? 3940916???? 97.46??? ? 801872?? 1369084?? 4023580??? ? 170716????? 4.07???? 50584

18時40分45秒102816?? 3940916???? 97.46??? ? 801872?? 1369084?? 4023580??? ? 170716????? 4.07???? 50584

Average:?????? 102816?? 3940916???? ? 97.46??? 801872?? 1369084?? ? 4023580??? 170716????? 4.07???? ? 50584

sar內存統計信息說明kbmemfree當前空閑或未被使用的內存總量

%memused被使用的物理內存總量所占的百分比

%swpused被使用的交換分區的百分比

kbswapcad該項內存包括了交換到磁盤和已存在內存中的

3.2.6 /proc/meminfo

Linux內核提供用戶可讀文本文件/proc/meminfo來顯示當前系統范圍的內存性能統計信息,里面的信息非常全面。如果需要定期更新的數據,需要自行編寫腳本實現。

meminfo統計信息部分說明

MemTotal系統物理內存總量

SwapCached在交換分區和物理內存中都存在的內存總量

Active當前系統中處于活躍狀態的內存

HightTotal高端內存容量

Dirty等待寫入磁盤的內存

Writeback當前被寫入磁盤的內存

Slab內核分片內存的總量

Committed_AS所需內存容量,在當前工作負載下,這個容量幾乎是不會耗盡的。通常情況下,內核會分配更多的內存,預期應用程序會超分配。如果所有的應用程序都使用自己被分配的內存,這個就是你需要的物理內存的容量。

PageTables為內核頁表保留的內存容量

總結

以上是生活随笔為你收集整理的linux 优化内存分配,Linux性能优化 第三章 性能工具:系统内存的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。