微吼云上線多路互動(dòng)直播服務(wù) 加速多場(chǎng)景互動(dòng)直播落地
821
2025-04-04
內(nèi)存的管理和優(yōu)化,是 Linux 系統(tǒng)性能優(yōu)化的重要組成部分,換句話說(shuō),內(nèi)存資源是否充足,會(huì)直接影響應(yīng)用系統(tǒng)(包含操作系統(tǒng)和應(yīng)用程序)的使用性能。
本節(jié)將介紹幾個(gè)系統(tǒng)命令,通過(guò)它們,可以快速查看 Linux 系統(tǒng)中內(nèi)存的使用狀況。
Linux 查看內(nèi)存使用情況:free 命令
free 是監(jiān)控 Linux 內(nèi)存使用狀況最常用的命令之一,有關(guān)該命令的基本用法,已經(jīng)在《Linux free 命令》一節(jié)中做了詳細(xì)介紹,所以不再贅述,這里重點(diǎn)給大家講解如何使用 free 命令查看系統(tǒng)內(nèi)存的使用情況。
下面是 free 命令在當(dāng)前測(cè)試系統(tǒng)中的輸出結(jié)果:
[root@localhost ~]# free -m total used free shared buffers cached Mem: 2004 573 1431 0 47 201 -/+ buffers/cache: 323 1680 Swap: 1983 0 1983
從輸出結(jié)果可以看到,該系統(tǒng)共 2GB 內(nèi)存,其中系統(tǒng)空閑內(nèi)存還有 1431MB,并且 swap 交換分區(qū)還未使用,因此可以判斷出當(dāng)前系統(tǒng)的內(nèi)存資源還非常充足。
除此之外,free 命令還可以實(shí)時(shí)地監(jiān)控內(nèi)存的使用狀況,通過(guò)使用 -s 選項(xiàng),可以實(shí)現(xiàn)在指定的時(shí)間段內(nèi)不間斷地監(jiān)控內(nèi)存的使用情況。
例如:
[root@localhost ~]# free -m -s 5 total used free shared buffers cached Mem: 2004 571 1433 0 47 202 -/+ buffers/cache: 321 1683 Swap: 1983 0 1983 total used free shared buffers cached Mem: 2004 571 1433 0 47 202 -/+ buffers/cache: 321 1683 Swap: 1983 0 1983 #省略后續(xù)輸出
要想實(shí)現(xiàn)動(dòng)態(tài)地監(jiān)控內(nèi)存使用狀況,除了使用 free 命令提供的 -s 選項(xiàng),還可以借助 watch 命令。通過(guò)給 watch 命令后面添加需要運(yùn)行的命令,watch 就會(huì)自行重復(fù)去運(yùn)行這個(gè)命令(默認(rèn) 2 秒執(zhí)行一次),例如:
[root@localhost ~]# watch -n 3 -d free Every 3.0s: free Tue Oct 29 03:05:43 2019 total used free shared buffers cached Mem: 2052988 586504 1466484 0 49184 207360 -/+ buffers/cache: 329960 1723028 Swap: 2031608 0 2031608
上面執(zhí)行的命令中,-n 選項(xiàng)用于執(zhí)行重復(fù)執(zhí)行的間隔時(shí)間,-d 選項(xiàng)用于在顯示數(shù)據(jù)時(shí),高亮顯示變動(dòng)了的數(shù)據(jù)。
Linux 查看內(nèi)存使用情況:vmstat 命令
vmstat 命令在監(jiān)控系統(tǒng)內(nèi)存方面的功能很強(qiáng)大,有關(guān)此命令的基本用法,已經(jīng)在《Linux vmstat 命令》一節(jié)中做了詳細(xì)介紹,這里重點(diǎn)講解如何使用此命令查看內(nèi)存的使用狀況。
下面是執(zhí)行 vmstat 命令的輸出結(jié)果:
[root@localhost ~]# vmstat 2 3 procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 1436128 53004 210744 0 0 7 0 13 14 0 0 100 0 0 1 0 0 1436112 53004 210744 0 0 0 0 128 226 0 0 100 0 0 0 0 0 1435988 53004 210744 0 0 0 0 144 220 1 0 99 0 0
對(duì)于內(nèi)存的監(jiān)控,我們只需要重點(diǎn)關(guān)注 swpd、si 和 so 這 3 列。從此輸出結(jié)果可以看出,當(dāng)前系統(tǒng)中,虛擬內(nèi)存沒(méi)有使用,硬盤(pán)和內(nèi)存之間沒(méi)有交換數(shù)據(jù),可見(jiàn)內(nèi)存資源處于空閑狀態(tài)。
Linux 查看內(nèi)存使用情況:sar 命令
sar 命令也可以用來(lái)監(jiān)控 Linux 的內(nèi)存使用狀況,通過(guò)“sar -r”組合可以查看系統(tǒng)內(nèi)存和交換空間的使用率。
如下是執(zhí)行“sar -r”命令的輸出結(jié)果:
[root@localhost ~]# sar -r 2 3 Linux 2.6.32-431.el6.x86_64 (localhost) 10/29/2019 _x86_64_ (8 CPU) 04:54:20 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 04:54:22 AM 1218760 834228 40.63 53228 424908 738312 18.08 04:54:24 AM 1218744 834244 40.64 53228 424908 738312 18.08 04:54:26 AM 1218712 834276 40.64 53228 424908 738312 18.08 Average: 1218739 834249 40.64 53228 424908 738312 18.08
此輸出結(jié)果中,各個(gè)參數(shù)表示的含義如下:
kbmemfree:表示空閑的物理內(nèi)存的大小;
kbmemeused:表示已使用的物理內(nèi)存的大小;
%memused:表示已使用內(nèi)存占總內(nèi)存大小的百分比;
kbbuffers:表示緩沖區(qū)所使用的物理內(nèi)存的大小;
kbcached:表示告訴緩存所使用的物理內(nèi)存的大小;
kbcommit 和 %commit:分別表示當(dāng)前系統(tǒng)中應(yīng)用程序使用的內(nèi)存大小和百分比;
相比 free 命令,sar 命令的輸出信息更加人性化,不僅給出了內(nèi)存使用量,還給出了內(nèi)存使用的百分比以及統(tǒng)計(jì)的平均值。比如說(shuō),僅通過(guò) %commit 一項(xiàng)就可以得知,當(dāng)前系統(tǒng)中的內(nèi)存資源充足。
Linux
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。