Merge branch 'akpm' (patches from Andrew)
Merge first patch-bomb from Andrew Morton: - A few hotfixes which missed 4.4 becasue I was asleep. cc'ed to -stable - A few misc fixes - OCFS2 updates - Part of MM. Including pretty large changes to page-flags handling and to thp management which have been buffered up for 2-3 cycles now. I have a lot of MM material this time. [ It turns out the THP part wasn't quite ready, so that got dropped from this series - Linus ] * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (117 commits) zsmalloc: reorganize struct size_class to pack 4 bytes hole mm/zbud.c: use list_last_entry() instead of list_tail_entry() zram/zcomp: do not zero out zcomp private pages zram: pass gfp from zcomp frontend to backend zram: try vmalloc() after kmalloc() zram/zcomp: use GFP_NOIO to allocate streams mm: add tracepoint for scanning pages drivers/base/memory.c: fix kernel warning during memory hotplug on ppc64 mm/page_isolation: use macro to judge the alignment mm: fix noisy sparse warning in LIBCFS_ALLOC_PRE() mm: rework virtual memory accounting include/linux/memblock.h: fix ordering of 'flags' argument in comments mm: move lru_to_page to mm_inline.h Documentation/filesystems: describe the shared memory usage/accounting memory-hotplug: don't BUG() in register_memory_resource() hugetlb: make mm and fs code explicitly non-modular mm/swapfile.c: use list_for_each_entry_safe in free_swap_count_continuations mm: /proc/pid/clear_refs: no need to clear VM_SOFTDIRTY in clear_soft_dirty_pmd() mm: make sure isolate_lru_page() is never called for tail page vmstat: make vmstat_updater deferrable again and shut down on idle ...
This commit is contained in:
@@ -169,6 +169,9 @@ read the file /proc/PID/status:
|
||||
VmLck: 0 kB
|
||||
VmHWM: 476 kB
|
||||
VmRSS: 476 kB
|
||||
RssAnon: 352 kB
|
||||
RssFile: 120 kB
|
||||
RssShmem: 4 kB
|
||||
VmData: 156 kB
|
||||
VmStk: 88 kB
|
||||
VmExe: 68 kB
|
||||
@@ -231,14 +234,20 @@ Table 1-2: Contents of the status files (as of 4.1)
|
||||
VmSize total program size
|
||||
VmLck locked memory size
|
||||
VmHWM peak resident set size ("high water mark")
|
||||
VmRSS size of memory portions
|
||||
VmRSS size of memory portions. It contains the three
|
||||
following parts (VmRSS = RssAnon + RssFile + RssShmem)
|
||||
RssAnon size of resident anonymous memory
|
||||
RssFile size of resident file mappings
|
||||
RssShmem size of resident shmem memory (includes SysV shm,
|
||||
mapping of tmpfs and shared anonymous mappings)
|
||||
VmData size of data, stack, and text segments
|
||||
VmStk size of data, stack, and text segments
|
||||
VmExe size of text segment
|
||||
VmLib size of shared library code
|
||||
VmPTE size of page table entries
|
||||
VmPMD size of second level page tables
|
||||
VmSwap size of swap usage (the number of referred swapents)
|
||||
VmSwap amount of swap used by anonymous private data
|
||||
(shmem swap usage is not included)
|
||||
HugetlbPages size of hugetlb memory portions
|
||||
Threads number of threads
|
||||
SigQ number of signals queued/max. number for queue
|
||||
@@ -265,7 +274,8 @@ Table 1-3: Contents of the statm files (as of 2.6.8-rc3)
|
||||
Field Content
|
||||
size total program size (pages) (same as VmSize in status)
|
||||
resident size of memory portions (pages) (same as VmRSS in status)
|
||||
shared number of pages that are shared (i.e. backed by a file)
|
||||
shared number of pages that are shared (i.e. backed by a file, same
|
||||
as RssFile+RssShmem in status)
|
||||
trs number of pages that are 'code' (not including libs; broken,
|
||||
includes data segment)
|
||||
lrs number of pages of library (always 0 on 2.6)
|
||||
@@ -459,7 +469,10 @@ and a page is modified, the file page is replaced by a private anonymous copy.
|
||||
hugetlbfs page which is *not* counted in "RSS" or "PSS" field for historical
|
||||
reasons. And these are not included in {Shared,Private}_{Clean,Dirty} field.
|
||||
"Swap" shows how much would-be-anonymous memory is also used, but out on swap.
|
||||
"SwapPss" shows proportional swap share of this mapping.
|
||||
For shmem mappings, "Swap" includes also the size of the mapped (and not
|
||||
replaced by copy-on-write) part of the underlying shmem object out on swap.
|
||||
"SwapPss" shows proportional swap share of this mapping. Unlike "Swap", this
|
||||
does not take into account swapped out page of underlying shmem objects.
|
||||
"Locked" indicates whether the mapping is locked in memory or not.
|
||||
|
||||
"VmFlags" field deserves a separate description. This member represents the kernel
|
||||
@@ -842,6 +855,7 @@ Dirty: 968 kB
|
||||
Writeback: 0 kB
|
||||
AnonPages: 861800 kB
|
||||
Mapped: 280372 kB
|
||||
Shmem: 644 kB
|
||||
Slab: 284364 kB
|
||||
SReclaimable: 159856 kB
|
||||
SUnreclaim: 124508 kB
|
||||
@@ -898,6 +912,7 @@ MemAvailable: An estimate of how much memory is available for starting new
|
||||
AnonPages: Non-file backed pages mapped into userspace page tables
|
||||
AnonHugePages: Non-file backed huge pages mapped into userspace page tables
|
||||
Mapped: files which have been mmaped, such as libraries
|
||||
Shmem: Total memory used by shared memory (shmem) and tmpfs
|
||||
Slab: in-kernel data structures cache
|
||||
SReclaimable: Part of Slab, that might be reclaimed, such as caches
|
||||
SUnreclaim: Part of Slab, that cannot be reclaimed on memory pressure
|
||||
|
@@ -17,10 +17,10 @@ RAM, where you have to create an ordinary filesystem on top. Ramdisks
|
||||
cannot swap and you do not have the possibility to resize them.
|
||||
|
||||
Since tmpfs lives completely in the page cache and on swap, all tmpfs
|
||||
pages currently in memory will show up as cached. It will not show up
|
||||
as shared or something like that. Further on you can check the actual
|
||||
RAM+swap use of a tmpfs instance with df(1) and du(1).
|
||||
|
||||
pages will be shown as "Shmem" in /proc/meminfo and "Shared" in
|
||||
free(1). Notice that these counters also include shared memory
|
||||
(shmem, see ipcs(1)). The most reliable way to get the count is
|
||||
using df(1) and du(1).
|
||||
|
||||
tmpfs has the following uses:
|
||||
|
||||
|
Reference in New Issue
Block a user