成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vmstat命令中活躍內存和非活躍內存

開發 前端
vmstat看到的active/inactive memory就分別是active list和inactive list中的內存大小。如果inactive list很大,表明在必要時可以回收的頁面很多;而如果inactive list很小,說明可以回收的頁面不多。

vmstat -a 命令能看到active memory 和 inactive memory:

但它們的含義在manpage中只給了簡單的說明,并未詳細解釋:

inact: the amount of inactive memory. (-a option)active: the amount of active memory. (-a option)

在此我們試圖準確理解它的含義。通過閱讀vmstat的源代碼(vmstat.c和proc/sysinfo.c)得知,vmstat命令是直接從/proc/meminfo中獲取的數據:

而/proc/meminfo的數據是在以下內核函數中生成的:

這段代碼的意思是統計所有的LRU list,其中Active Memory等于ACTIVE_ANON與ACTIVE_FILE之和,Inactive Memory等于INACTIVE_ANON與INACTIVE_FILE之和。

LRU list是Linux kernel的內存頁面回收算法(Page Frame Reclaiming Algorithm)所使用的數據結構,LRU是Least Recently Used的縮寫詞。這個算法的核心思想是:回收的頁面應該是最近使用得最少的,為了實現這個目標,最理想的情況是每個頁面都有一個年齡項,用于記錄最近一次訪問頁面的時間,可惜x86 CPU硬件并不支持這個特性,x86 CPU只能做到在訪問頁面時設置一個標志位Access Bit,無法記錄時間,所以Linux Kernel使用了一個折衷的方法:它采用了LRU list列表,把剛訪問過的頁面放在列首,越接近列尾的就是越長時間未訪問過的頁面,這樣,雖然不能記錄訪問時間,但利用頁面在LRU list中的相對位置也可以輕松找到年齡最長的頁面。Linux kernel設計了兩種LRU list: active list 和 inactive list, 剛訪問過的頁面放進active list,長時間未訪問過的頁面放進inactive list,這樣從inactive list回收頁面就變得簡單了。內核線程kswapd會周期性地把active list中符合條件的頁面移到inactive list中,這項轉移工作是由refill_inactive_zone()完成的。

LRU list 示意圖

vmstat看到的active/inactive memory就分別是active list和inactive list中的內存大小。如果inactive list很大,表明在必要時可以回收的頁面很多;而如果inactive list很小,說明可以回收的頁面不多。

Active/inactive memory是針對用戶進程所占用的內存而言的,內核占用的內存(包括slab)不在其中。

至于在源代碼中看到的ACTIVE_ANON和ACTIVE_FILE,分別表示anonymous pages和file-backed pages。用戶進程的內存頁分為兩種:與文件關聯的內存(比如程序文件、數據文件所對應的內存頁)和與文件無關的內存(比如進程的堆棧,用malloc申請的內存),前者稱為file-backed pages,后者稱為anonymous pages。File-backed pages在發生換頁(page-in或page-out)時,是從它對應的文件讀入或寫出;anonymous pages在發生換頁時,是對交換區進行讀/寫操作。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2010-02-04 09:26:34

Linux vmsta

2010-06-02 12:47:12

Linux 內存監控

2010-03-03 16:53:40

Linux Ubunt

2022-10-08 11:34:07

業務分析用戶活躍

2021-07-15 10:49:17

私有云云計算混合云

2010-04-12 14:30:41

Ubuntu 10.0

2022-02-07 09:07:38

黑客供應鏈攻擊SolarWinds

2010-07-26 12:48:34

IDC

2024-09-26 12:28:49

2013-10-12 13:01:51

Linux運維內存管理

2023-11-01 08:07:42

.NETC#

2014-01-14 10:52:06

Linux vmsta虛擬內存

2011-07-27 15:28:39

Opera Mini瀏覽器

2024-12-10 07:12:00

2020-10-10 10:40:20

APT組織分析

2021-12-24 10:01:55

勒索團伙攻擊勒索軟件

2012-03-22 21:07:24

iOS

2021-12-06 14:02:25

勒索軟件攻擊數據泄露

2009-03-02 09:13:00

LinuxFedora操作系統

2020-12-24 14:43:27

比特幣金融加密貨幣
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产99免费| 天天干天天谢 | 91色在线 | 亚洲精品一区二区三区丝袜 | 久久久精品一区 | 日本精品视频 | 黄色一级片在线播放 | 国产乱码精品一区二三赶尸艳谈 | 久热国产精品 | 视频一区二区在线观看 | 日韩a在线 | 成人99 | 日一区二区三区 | 国产精品一区二区在线 | 久久久.com | 久久91精品国产一区二区三区 | 久在草 | 国产区一区二区三区 | 美女国产精品 | 日韩有码一区 | 国产在线观看网站 | 福利视频三区 | 亚洲精品粉嫩美女一区 | 一区二区三区中文字幕 | 中文字幕一区二区三区四区 | 特黄av| 国产精品久久久久久久久久久新郎 | 午夜91| 精品久久久久久亚洲综合网站 | 久久久久久看片 | 婷婷福利| 麻豆久久精品 | 中文字幕一区二区三区在线乱码 | 黄a免费网络 | 欧美日韩在线视频一区 | 欧洲一区二区三区 | 一区二区三区欧美 | 国产精品久久久99 | 亚洲综合色视频在线观看 | 亚洲精品视频导航 | 特黄视频 |