中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么時候需要關注Linux的內存用量

發布時間:2021-11-02 16:44:28 來源:億速云 閱讀:179 作者:柒染 欄目:系統運維

這篇文章給大家介紹什么時候需要關注Linux的內存用量,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Linux 上的內存管理很復雜。盡管使用率高但未必存在問題。你也應當關注一些其他的事情。

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

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

緩存如何工作

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

主要和次要的頁故障

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

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

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

$ ps -eo min_flt,maj_flt,cmd MINFL  MAJFL CMD230760    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 譯注:參數里面的 1 是要查看的進程的 PID):

$ ps -o min_flt,maj_flt 1 MINFL  MAJFL230064    150

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

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

多少才算滿?

一種較好的方法來掌握內存究竟使用了多少是用 free -m 命令。-m 選項指定了數字的單位是MiBmebibyte而不是字節。

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

注意 free(未使用)的內存可能會不足,而 available(可用于啟動新的應用)會顯示更大的數量。這兩者的區別值得我們去關注。可用available意味著它可以在需要時恢復使用,而空閑free意味著現在就能夠使用。

什么時候要擔心

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

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

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

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

Linux 性能很復雜

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

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

關于什么時候需要關注Linux的內存用量就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮安市| 利津县| 德江县| 新蔡县| 沧州市| 通许县| 平顶山市| 涞水县| 澄迈县| 汉阴县| 郧西县| 克什克腾旗| 武功县| 合肥市| 邢台市| 平乐县| 大埔区| 诸暨市| 盐亭县| 堆龙德庆县| 奈曼旗| 聊城市| 彭山县| 桂林市| 徐闻县| 仁怀市| 南溪县| 随州市| 安溪县| 仁化县| 木兰县| 西峡县| 安远县| 文水县| 那曲县| 万州区| 正安县| 上虞市| 县级市| 方山县| 邳州市|