歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下內存的幾個基本概念

Linux下內存的幾個基本概念

日期:2017/2/28 16:20:40   编辑:Linux教程

先介紹幾個Linux基本概念:

SIZE: 進程使用的地址空間, 如果進程映射了100M的內存, 進程的地址空間將報告為100M內存. 事實上, 這個大小不是一個程序實際使用的內存數.

RSS: "Resident Set Size", 實際駐留"在內存中"的內存數. 不包括已經交換出去的代碼. 舉一個例子: 如果你有一個程序使用了100K內存, 操作系統交換出40K內存, 那麼RSS為60K. RSS還包括了與其它進程共享的內存區域. 這些區域通常用於libc庫等.

SHARE: RSS中與其它進程共享的內存部分大小.

VMSIZE: 一個進程占用的總的地址空間大小. 它包括了沒有映射到內存中的頁面.

Private RSS: 映射到內存中的頁面, 這些頁面僅由進程單獨使用. 這也是我們最關心地方: 進程實際占用的內存數.

如何來查看Private RSS呢? /proc接口中每一個進程目錄下的smaps提供了private rss信息. smaps是在2.6.16內核版本引進來的.

私有駐留內存數(Private RSS):
查看/proc/$pid/smaps

下面我以本站使用的Fedora Core 5為例, 查看進程號1293(vmware-guestd, 本站使用的是一台基於vmware的客戶虛擬機, 微睦獨立主機)使用的Private RSS數.

# cat /proc/1293/smaps
00111000-00112000 rwxp 00111000 00:00 0
Size: 4 kB
Rss: 4 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 4 kB
0050e000-0050f000 rwxp 0050e000 00:00 0
Size: 4 kB
Rss: 0 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB

Copyright © Linux教程網 All Rights Reserved