成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

何時需要關(guān)注 Linux 的內(nèi)存用量

2021-03-06    分類: 網(wǎng)站建設(shè)

Linux 上的內(nèi)存管理很復雜。盡管使用率高但未必存在問題。你也應(yīng)當關(guān)注一些其他的事情。

-- Sandra Henry-stocker(作者)

在 Linux 上用光內(nèi)存通常并不意味著存在嚴重的問題。為什么?因為健康的 Linux 系統(tǒng)會在內(nèi)存中緩存磁盤活動,基本上占用掉了未被使用的內(nèi)存,這顯然是一件好事情。

換句話說,它不讓內(nèi)存浪費掉。使用空閑的內(nèi)存增加磁盤訪問速度,并且不占用運行中應(yīng)用程序的內(nèi)存。你也能夠想到,使用這種內(nèi)存緩存比起直接訪問硬盤驅(qū)動器(HDD)快上數(shù)百倍,也比明顯快于直接訪問固態(tài)硬盤驅(qū)動。內(nèi)存占滿或幾乎占滿通常意味著系統(tǒng)正在盡可能高效地運行當中 —— 并不是運行中遇到了問題。

緩存如何工作

磁盤緩存簡單地意味著系統(tǒng)充分利用未使用的資源(空閑內(nèi)存)來加速磁盤讀取與寫入。應(yīng)用程序不會失去任何東西,并且大多數(shù)時間里能夠按需求獲得更多的內(nèi)存。此外,磁盤緩存不會導致應(yīng)用程序轉(zhuǎn)而使用交換分區(qū)。反而,用作磁盤緩存的內(nèi)存空間當被需要時會立即歸還,并且磁盤內(nèi)容會被更新。

主要和次要的頁故障

Linux 系統(tǒng)通過分割物理內(nèi)存來為進程分配空間,將分割成的塊稱為“頁”,并且映射這些頁到每個進程的虛擬內(nèi)存上。不再會用到的頁也許會從內(nèi)存中移除,盡管相關(guān)的進程還在運行。當進程需要一個沒有被映射或沒在內(nèi)存中頁時,故障便會產(chǎn)生。所以,這個“ 故障(fault)”并不意味著“ 錯誤(error)”而是“ 不可用(unavailables)”,并且故障在內(nèi)存管理中扮演者一個重要的角色。

次要故障意味著在內(nèi)存中的頁未分配給請求的進程,或未在內(nèi)存管理單元中標記為出現(xiàn)。主要故障意味著頁沒有保留在內(nèi)存中。

如果你想切身感受一下次要頁故障和主要頁故障出現(xiàn)的頻率,像這樣試一下 ps 命令。注意我們要的是與頁故障和產(chǎn)生它的命令相關(guān)的項。輸出中省略了很多行。MINFL 顯示出次要故障的數(shù)目,而 MAJFL 表示了主要故障的數(shù)目。

$ ps -eo min_flt,maj_flt,cmd
 MINFL MAJFL CMD
230760 150 /usr/lib/systemd/systemd --switched-root --system --deserialize 18
 0 0 [kthreadd]
 0 0 [rcu_gp]
 0 0 [rcu_par_gp]
 0 0 [kworker/0:0H-kblockd]
 ...
 166 20 gpg-agent --homedir /var/lib/fwupd/gnupg --use-standard-socket --daemon
 525 1 /usr/libexec/gvfsd-trash --spawner :1.16 /org/gtk/gvfs/exec_spaw/0
 4966 4 /usr/libexec/gnome-terminal-server
 3617 0 bash
 0 0 [kworker/1:0H-kblockd]
 927 0 gdm-session-worker [pam/gdm-password]

匯報單一進程,你可以嘗試這樣的命令(LCTT 譯注:參數(shù)里面的 1 是要查看的進程的 PID):

$ ps -o min_flt,maj_flt 1
 MINFL MAJFL
230064 150

你也可以添加其他的顯示字段,例如進程所有者的 UID 和 GID。

$ ps -o min_flt,maj_flt,cmd,args,uid,gid 1
 MINFL MAJFL CMD COMMAND UID GID
230064 150 /usr/lib/systemd/systemd -- /usr/lib/systemd/systemd -- 0 0

多少才算滿?

一種較好的方法來掌握內(nèi)存究竟使用了多少是用 free -m 命令。-m 選項指定了數(shù)字的單位是MiB(mebibyte) 而不是字節(jié)。

$ free -m
 total used free shared buff/cache available
Mem: 3244 3069 35 49 140 667
Swap: 3535 0 3535

注意 free(未使用)的內(nèi)存可能會不足,而 available(可用于啟動新的應(yīng)用)會顯示更大的數(shù)量。這兩者的區(qū)別值得我們?nèi)リP(guān)注。 可用(available)意味著它可以在需要時恢復使用,而 空閑(free)意味著現(xiàn)在就能夠使用。

什么時候要擔心

如果 Linux 系統(tǒng)上的性能表現(xiàn)良好 —— 應(yīng)用程序響應(yīng)度高,命令行沒有顯示出問題 —— 很可能系統(tǒng)狀況良好。記住,一些應(yīng)用也許會出于某種原因而變慢,但它不影響整個系統(tǒng)。

過多的硬故障也許表明確實存在問題,但要將其與觀察到的性能相比較。

一個好的方法是當可用內(nèi)存接近 0 或者“ 用作交換(swap used)”項顯著增長或波動時開始擔心。如果“可用”項占總內(nèi)存可用量的百分比合理,那么就無需擔心,就像下面的例子那樣:

$ free -m
 total used free shared buff/cache available
Mem: 3244 3069 35 49 140 667
Swap: 3535 0 3535

Linux 性能很復雜

拋開這些不說,Linux 系統(tǒng)上的內(nèi)存可能會變滿,并且性能可能會降低。當系統(tǒng)出現(xiàn)問題時不要僅將單一的內(nèi)存使用報告作為指標。

Linux 系統(tǒng)的內(nèi)存管理很復雜,因為它采取的措施需要確保系統(tǒng)資源得到最好的利用。不要受到一開始內(nèi)存占滿的欺騙,使你認為系統(tǒng)存在問題,但實際上并沒有。

網(wǎng)頁名稱:何時需要關(guān)注 Linux 的內(nèi)存用量
本文來源:http://jinyejixie.com/news26/104526.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、手機網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站制作、網(wǎng)頁設(shè)計公司域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
托克逊县| 呼和浩特市| 始兴县| 南岸区| 荥阳市| 榆树市| 吉隆县| 江达县| 睢宁县| 屯留县| 兴隆县| 偏关县| 正镶白旗| 罗山县| 永兴县| 名山县| 绵竹市| 牟定县| 长武县| 南乐县| 睢宁县| 陇南市| 扶沟县| 积石山| 隆安县| 四平市| 彝良县| 常熟市| 莱阳市| 建平县| 綦江县| 盘锦市| 义马市| 德令哈市| 长沙市| 吴忠市| 乌兰察布市| 马山县| 康马县| 团风县| 汉中市|