自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

[[269768]]

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

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

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

緩存如何工作

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

主要和次要的頁故障

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

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

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

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

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

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

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

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

多少才算滿?

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

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

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

什么時(shí)候要擔(dān)心

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

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

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

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

Linux 性能很復(fù)雜

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

Linux 系統(tǒng)的內(nèi)存管理很復(fù)雜,因?yàn)樗扇〉拇胧┬枰_保系統(tǒng)資源得到***的利用。不要受到一開始內(nèi)存占滿的欺騙,使你認(rèn)為系統(tǒng)存在問題,但實(shí)際上并沒有。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2010-11-08 10:07:23

SQL Server內(nèi)

2009-06-28 20:57:19

云計(jì)算IT存儲(chǔ)

2022-05-17 11:05:16

機(jī)器學(xué)習(xí)人工智能

2020-04-14 16:03:31

Linux虛擬內(nèi)存操作系統(tǒng)

2021-04-14 09:24:59

App內(nèi)存后臺(tái)

2015-11-13 09:37:43

數(shù)字趨勢市場

2015-09-02 10:26:58

主機(jī)機(jī)房

2021-02-04 10:13:08

大數(shù)據(jù)趨勢大數(shù)據(jù)Gartner

2021-01-08 08:00:00

首席信息官IT超自動(dòng)化

2017-07-12 13:23:34

IT員工壓力

2020-09-21 07:00:00

混合云

2015-11-16 10:56:13

2016數(shù)字市場趨勢

2021-12-27 14:14:37

前端開發(fā)技術(shù)

2021-02-20 23:32:51

DevSecOps開發(fā)漏洞

2022-08-31 15:18:26

GNOMEGNOME 43

2016-09-09 09:24:30

服務(wù)器

2010-02-24 10:43:26

管理軟件廠商軟件補(bǔ)丁

2023-10-08 08:36:03

2013-12-24 10:14:28

大數(shù)據(jù)Linux內(nèi)存管理

2024-11-05 16:45:02

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)