linux vsz是什么

linux中,vsz是指虛擬內(nèi)存大小,代表了進(jìn)程所擁有的虛擬地址空間的大小,這個地址空間可以是實際分配的物理內(nèi)存,也可以是交換空間。SZ大小通常不是一個進(jìn)程正在使用多少內(nèi)存的精確度量,而是一個進(jìn)程在將其所有函數(shù)和庫裝入物理內(nèi)存時可以使用的最大內(nèi)存量和指示。

linux vsz是什么

本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。

ps命令是linux系統(tǒng)上一個默認(rèn)的命令行工具,它可以讓我們深入了解正在運行的進(jìn)程。它給我們提供了關(guān)于這些進(jìn)程的很多有用的信息,包括它們的PID(process ID),TTY,運行命令或者運行程序的用戶,等等。

ps命令輸出中有兩列字段沒有被過多的討論過,它們是VSZ(Virtual Memory Size)和RSS (Resident Set Size)列。這兩列都提供了關(guān)于進(jìn)程使用多少內(nèi)存的信息。

VSZ and RSS

VSZ和RSS列出現(xiàn)在ps命令行的輸出中, 如下面的截圖所示。系統(tǒng)上運行的每個進(jìn)程的值以kb為單位。

linux vsz是什么

VSZ是虛擬內(nèi)存大小,這是linux給進(jìn)程的內(nèi)存大小,換句話說,VSZ代表了進(jìn)程所擁有的虛擬地址空間的大小,這個地址空間可以是實際分配的物理內(nèi)存,也可以是交換空間。但是這并不一定意味著這個進(jìn)程使用了所有的內(nèi)存。例如,許多應(yīng)用程序具有執(zhí)行某些任務(wù)的功能,但可能在需要之前不會將它們加載到內(nèi)存中。Linux利用了請求分頁,它只在應(yīng)用程序嘗試使用頁面時才將頁面加載到內(nèi)存中。

您看到的VSZ大小已經(jīng)考慮了所有這些頁面,但這并不意味著它們已經(jīng)加載到物理內(nèi)存中。因此,VSZ大小通常不是一個進(jìn)程正在使用多少內(nèi)存的精確度量,而是一個進(jìn)程在將其所有函數(shù)和庫裝入物理內(nèi)存時可以使用的最大內(nèi)存量和指示。

RSS是駐留集大小(Resident Set Size),這是進(jìn)程當(dāng)前加載其所有頁面的內(nèi)存大小。乍一看,RSS數(shù)字似乎是系統(tǒng)進(jìn)程使用的實際物理內(nèi)存量。然而,每個進(jìn)程的共享庫也會被計算進(jìn)去,這使得報告的物理內(nèi)存使用量不那么準(zhǔn)確。

這里有一個例子。如果你的Linux系統(tǒng)上有兩個圖像編輯程序,它們可能使用許多相同的圖像處理庫。如果你打開其中一個應(yīng)用程序,必要的庫將被加載到RAM中。當(dāng)你打開第二個應(yīng)用程序,它將避免重新加載庫的副本到RAM中,并共享第一個應(yīng)用程序使用的相同副本。對于這兩個應(yīng)用程序,RSS列將計算共享庫的大小,盡管它只加載了一次。這意味著RSS大小通常高估了進(jìn)程實際使用的物理內(nèi)存量。

如果你試圖監(jiān)視Linux系統(tǒng)上的內(nèi)存使用情況,有比RSS和VSZ數(shù)字更準(zhǔn)確的方法。這些方法對于某些目的是很方便的。

相關(guān)推薦:《Linux視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊13 分享