diff options
author | Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> | 2015-11-05 21:47:11 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-05 22:34:48 -0500 |
commit | 25ee01a2fca02dfb5a3ce316e77910c468108199 (patch) | |
tree | 0d795fbc7fa1d0ed20c43ca5e6b88bd3856ca6ce /Documentation/filesystems | |
parent | 600e19afc5f8a6c18ea49cee9511c5797db02391 (diff) |
mm: hugetlb: proc: add hugetlb-related fields to /proc/PID/smaps
Currently /proc/PID/smaps provides no usage info for vma(VM_HUGETLB),
which is inconvenient when we want to know per-task or per-vma base
hugetlb usage. To solve this, this patch adds new fields for hugetlb
usage like below:
Size: 20480 kB
Rss: 0 kB
Pss: 0 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 0 kB
Anonymous: 0 kB
AnonHugePages: 0 kB
Shared_Hugetlb: 18432 kB
Private_Hugetlb: 2048 kB
Swap: 0 kB
KernelPageSize: 2048 kB
MMUPageSize: 2048 kB
Locked: 0 kB
VmFlags: rd wr mr mw me de ht
[hughd@google.com: fix Private_Hugetlb alignment ]
Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Acked-by: Joern Engel <joern@logfs.org>
Acked-by: David Rientjes <rientjes@google.com>
Acked-by: Michal Hocko <mhocko@suse.cz>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/proc.txt | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 3a9d65c912e7..a7d6c06f36c4 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt | |||
@@ -424,6 +424,9 @@ Private_Clean: 0 kB | |||
424 | Private_Dirty: 0 kB | 424 | Private_Dirty: 0 kB |
425 | Referenced: 892 kB | 425 | Referenced: 892 kB |
426 | Anonymous: 0 kB | 426 | Anonymous: 0 kB |
427 | AnonHugePages: 0 kB | ||
428 | Shared_Hugetlb: 0 kB | ||
429 | Private_Hugetlb: 0 kB | ||
427 | Swap: 0 kB | 430 | Swap: 0 kB |
428 | SwapPss: 0 kB | 431 | SwapPss: 0 kB |
429 | KernelPageSize: 4 kB | 432 | KernelPageSize: 4 kB |
@@ -452,6 +455,11 @@ and a page is modified, the file page is replaced by a private anonymous copy. | |||
452 | "Swap" shows how much would-be-anonymous memory is also used, but out on | 455 | "Swap" shows how much would-be-anonymous memory is also used, but out on |
453 | swap. | 456 | swap. |
454 | "SwapPss" shows proportional swap share of this mapping. | 457 | "SwapPss" shows proportional swap share of this mapping. |
458 | "AnonHugePages" shows the ammount of memory backed by transparent hugepage. | ||
459 | "Shared_Hugetlb" and "Private_Hugetlb" show the ammounts of memory backed by | ||
460 | hugetlbfs page which is *not* counted in "RSS" or "PSS" field for historical | ||
461 | reasons. And these are not included in {Shared,Private}_{Clean,Dirty} field. | ||
462 | |||
455 | "VmFlags" field deserves a separate description. This member represents the kernel | 463 | "VmFlags" field deserves a separate description. This member represents the kernel |
456 | flags associated with the particular virtual memory area in two letter encoded | 464 | flags associated with the particular virtual memory area in two letter encoded |
457 | manner. The codes are the following: | 465 | manner. The codes are the following: |