Lines Matching +full:i +full:- +full:tlb +full:- +full:size
1 .. SPDX-License-Identifier: GPL-2.0
24 1.1 Process-Specific Subdirectories
36 3 Per-Process Parameters
37 3.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj - Adjust the oom-killer
39 3.2 /proc/<pid>/oom_score - Display current oom-killer score
40 3.3 /proc/<pid>/io - Display the IO accounting fields
41 3.4 /proc/<pid>/coredump_filter - Core dump filtering settings
42 3.5 /proc/<pid>/mountinfo - Information about mounts
44 3.7 /proc/<pid>/task/<tid>/children - Information about task children
45 3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file
46 3.9 /proc/<pid>/map_files - Information about memory mapped files
47 3.10 /proc/<pid>/timerslack_ns - Task timerslack value
48 3.11 /proc/<pid>/patch_state - Livepatch patch operation state
49 3.12 /proc/<pid>/arch_status - Task architecture specific information
50 3.13 /proc/<pid>/fd - List of symlinks to open files
61 ------------------------
67 This work is based on the 2.2.* kernel version and the upcoming 2.4.*. I'm
69 we know, it is the first 'all-in-one' document about the /proc file system. It
72 It also only covers IPv4 networking, not IPv6 nor other protocols - sorry. But
91 mailing list at linux-kernel@vger.kernel.org and/or try to reach me at
95 ---------------
105 ---------------
112 ------------------------------------------------------------------------------
118 First, we'll take a look at the read-only parts of /proc. In Chapter 2, we
121 1.1 Process-Specific Subdirectories
122 -----------------------------------
128 subdirectory has the entries listed in Table 1-1.
138 .. table:: Table 1-1: Process specific entries in /proc
157 symbol the task is blocked in - or "0" if not blocked.
222 file /proc/PID/status. It fields are described in table 1-2.
225 memory usage. Its seven fields are explained in Table 1-3. The stat file
227 explained in Table 1-4.
236 .. table:: Table 1-2: Contents of the status fields (as of 4.19)
261 VmPeak peak virtual memory size
262 VmSize total program size
263 VmLck locked memory size
264 VmPin pinned memory size
265 VmHWM peak resident set size ("high water mark")
266 VmRSS size of memory portions. It contains the three
269 RssAnon size of resident anonymous memory
270 RssFile size of resident file mappings
271 RssShmem size of resident shmem memory (includes SysV shm,
273 VmData size of private data segments
274 VmStk size of stack segments
275 VmExe size of text segment
276 VmLib size of shared library code
277 VmPTE size of page table entries
280 HugetlbPages size of hugetlb memory portions
310 .. table:: Table 1-3: Contents of the statm fields (as of 2.6.8-rc3)
315 size total program size (pages) (same as VmSize in status)
316 resident size of memory portions (pages) (same as VmRSS in status)
317 shared number of pages that are shared (i.e. backed by a file, same
328 .. table:: Table 1-4: Contents of the stat fields (as of 2.6.30-rc7)
356 vsize virtual memory size
357 rss resident set memory size
397 08048000-08049000 r-xp 00000000 03:00 8312 /opt/test
398 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test
399 0804a000-0806b000 rw-p 00000000 00:00 0 [heap]
400 a7cb1000-a7cb2000 ---p 00000000 00:00 0
401 a7cb2000-a7eb2000 rw-p 00000000 00:00 0
402 a7eb2000-a7eb3000 ---p 00000000 00:00 0
403 a7eb3000-a7ed5000 rw-p 00000000 00:00 0
404 a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6
405 a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6
406 a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6
407 a800b000-a800e000 rw-p 00000000 00:00 0
408 a800e000-a8022000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0
409 a8022000-a8023000 r--p 00013000 03:00 14462 /lib/libpthread.so.0
410 a8023000-a8024000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0
411 a8024000-a8027000 rw-p 00000000 00:00 0
412 a8027000-a8043000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2
413 a8043000-a8044000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2
414 a8044000-a8045000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2
415 aff35000-aff4a000 rw-p 00000000 00:00 0 [stack]
416 ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]
447 ioctl()-based API that gives ability to flexibly and efficiently query and
459 08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash
461 Size: 1084 kB
488 mapping in /proc/PID/maps. Following lines show the size of the mapping
489 (size); the size of each page allocated when backing a VMA (KernelPageSize),
490 which is usually the same as the size in the page table entries; the page size
496 The "proportional set size" (PSS) of a process is the count of pages it has
504 a single pte mapped, i.e. is currently used by only one process, is accounted
514 "KSM" reports how many of the pages are KSM pages. Note that KSM-placed zeropages
532 "Swap" shows how much would-be-anonymous memory is also used, but out on swap.
534 For shmem mappings, "Swap" includes also the size of the mapped (and not
535 replaced by copy-on-write) part of the underlying shmem object out on swap.
541 naturally aligned THP pages of any currently enabled size. 1 if true, 0
561 io memory mapped I/O area
568 ht area uses huge tlb pages
581 uw userfaultfd wr-protect tracking
588 be vanished or the reverse -- new added. Interpretation of their meaning
611 - Pss_Anon
612 - Pss_File
613 - Pss_Shmem
623 soft-dirty bit on pte (see Documentation/admin-guide/mm/soft-dirty.rst
637 To clear the soft-dirty bit::
641 To reset the peak resident set size ("high water mark") to the process's
651 Documentation/admin-guide/mm/pagemap.rst.
662 3206000000 default file=/lib64/ld-2.12.so mapped=26 mapmax=6 N0=24 N3=2 kernelpagesize_kB=4
663 320621f000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4
664 3206220000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4
666 …3206800000 default file=/lib64/libc-2.12.so mapped=59 mapmax=21 active=55 N0=41 N3=18 kernelpagesi…
667 320698b000 default file=/lib64/libc-2.12.so
668 3206b8a000 default file=/lib64/libc-2.12.so anon=2 dirty=2 N3=2 kernelpagesize_kB=4
669 3206b8e000 default file=/lib64/libc-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4
681 "policy" reports the NUMA memory policy set for the mapping (see Documentation/admin-guide/mm/numa_…
685 size, in KB, that is backing the mapping up.
688 ---------------
692 /proc and are listed in Table 1-5. Not all of these will be present in your
696 .. table:: Table 1-5: Kernel info in /proc
723 ioports I/O port usage
745 pci Deprecated info of PCI bus (new way -> /proc/bus/pci/,
767 0: 8728810 XT-PIC timer
768 1: 895 XT-PIC keyboard
769 2: 0 XT-PIC cascade
770 3: 531695 XT-PIC aha152x
771 4: 2014133 XT-PIC serial
772 5: 44401 XT-PIC pcnet_cs
773 8: 2 XT-PIC rtc
774 11: 8 XT-PIC i82365
775 12: 182918 XT-PIC PS/2 Mouse
776 13: 1 XT-PIC fpu
777 14: 1232265 XT-PIC ide0
778 15: 7 XT-PIC ide1
787 0: 1243498 1214548 IO-APIC-edge timer
788 1: 8949 8958 IO-APIC-edge keyboard
789 2: 0 0 XT-PIC cascade
790 5: 11286 10161 IO-APIC-edge soundblaster
791 8: 1 0 IO-APIC-edge rtc
792 9: 27422 27407 IO-APIC-edge 3c503
793 12: 113645 113873 IO-APIC-edge PS/2 Mouse
794 13: 0 0 XT-PIC fpu
795 14: 22491 24012 IO-APIC-edge ide0
796 15: 2183 2415 IO-APIC-edge ide1
797 17: 30564 30414 IO-APIC-level eth0
798 18: 177 164 IO-APIC-level bttv
808 ERR is incremented in the case of errors in the IO-APIC bus (the bus that
810 the IO-APIC automatically retry the transmission, so it should not be a big
811 problem, but you should read the SMP-FAQ.
834 RES, CAL, TLB
835 rescheduling, call and TLB flush interrupts are
876 1024-1031
878 The default_smp_affinity mask applies to all non-active IRQs, which are the
880 /proc/irq/[0-9]* directory.
889 The way IRQs are routed is handled by the IO-APIC, and it's Round Robin
892 best choice for almost everyone. [Note this applies only to those IO-APIC's
949 A page block is typically the size of the default hugepage size, e.g. 2MB on
950 X86-64. By keeping pages grouped based on their ability to move, the kernel
951 can reclaim pages within a page block to satisfy a high-order allocation.
953 The pagetypinfo begins with information on the size of a page block. It
955 by migrate-type and finishes with details on how many page blocks of each
981 > tail -n +3 /proc/allocinfo | sort -rn
986 13377536 234 block/blk-mq.c:3421 func:blk_mq_alloc_rqs
1072 Total usable RAM (i.e. physical RAM minus a few reserved
1079 SReclaimable, the size of the file LRU lists, and the low
1089 In-memory cache for files read from the disk (the
1096 in the swapfile. This saves I/O)
1125 Memory consumed by the zswap backend (compressed size)
1127 Amount of anonymous memory stored in zswap (original size)
1133 Non-file backed pages mapped into userspace page tables
1143 in-kernel data structures cache
1171 CommitLimit = ([total RAM pages] - [total huge TLB pages]) *
1179 in mm/overcommit-accounting.
1195 total size of vmalloc virtual address space
1206 be displayed at all. Size is never rounded down to 0 kB.
1214 Non-file backed huge pages mapped into userspace page tables
1230 See Documentation/admin-guide/mm/hugetlbpage.rst.
1239 containing the virtual address range of the area, size in bytes,
1246 ioremap I/O mapping (ioremap() and friends)
1258 0xffffc20000000000-0xffffc20000201000 2101248 alloc_large_system_hash+0x204 ...
1260 0xffffc20000201000-0xffffc20000302000 1052672 alloc_large_system_hash+0x204 ...
1262 0xffffc20000302000-0xffffc20000304000 8192 acpi_tb_verify_table+0x21/0x4f...
1264 0xffffc20000304000-0xffffc20000307000 12288 acpi_tb_verify_table+0x21/0x4f...
1266 0xffffc2000031d000-0xffffc2000031f000 8192 init_vdso_vars+0x112/0x210
1267 0xffffc2000031f000-0xffffc2000032b000 49152 cramfs_uncompress_init+0x2e ...
1269 0xffffc2000033a000-0xffffc2000033d000 12288 sys_swapon+0x640/0xac0 ...
1271 0xffffc20000347000-0xffffc2000034c000 20480 xt_alloc_table_info+0xfe ...
1273 0xffffffffa0000000-0xffffffffa000f000 61440 sys_init_module+0xc27/0x1d00 ...
1275 0xffffffffa000f000-0xffffffffa0014000 20480 sys_init_module+0xc27/0x1d00 ...
1277 0xffffffffa0014000-0xffffffffa0017000 12288 sys_init_module+0xc27/0x1d00 ...
1279 0xffffffffa0017000-0xffffffffa0022000 45056 sys_init_module+0xc27/0x1d00 ...
1303 --------------------------------
1305 The subdirectory /proc/net follows the usual pattern. Table 1-8 shows the
1307 support this. Table 1-9 lists the files and their meaning.
1310 .. table:: Table 1-8: IPv6 info in /proc/net
1326 .. table:: Table 1-9: Network info in /proc/net
1348 softnet_stat Per-CPU incoming packets queues statistics of online CPUs
1364 Inter-|Receive |[...
1383 -------------
1393 Type: Direct-Access ANSI SCSI revision: 03
1395 Vendor: PIONEER Model: CD-ROM DR-U06S Rev: 1.04
1396 Type: CD-ROM ANSI SCSI revision: 02
1403 AHA-2940 SCSI adapter::
1413 SCSI Adapter: Adaptec AHA-294X Ultra SCSI host adapter
1415 PCI MMAPed I/O Base: 0xeb001000
1446 ---------------------------------------
1452 These directories contain the four files shown in Table 1-10.
1455 .. table:: Table 1-10: Files in /proc/parport
1460 autoprobe Any IEEE-1284 device ID information that has been acquired.
1471 -------------------------
1475 this directory, as shown in Table 1-11.
1478 .. table:: Table 1-11: Files in /proc/tty
1492 pty_slave /dev/pts 136 0-255 pty:slave
1493 pty_master /dev/ptm 128 0-255 pty:master
1494 pty_slave /dev/ttyp 3 0-255 pty:slave
1495 pty_master /dev/pty 2 0-255 pty:master
1496 serial /dev/cua 5 64-67 serial:callout
1497 serial /dev/ttyS 4 64-67 serial
1502 unknown /dev/tty 4 1-63 console
1506 -------------------------------------------------
1531 - user: normal processes executing in user mode
1532 - nice: niced processes executing in user mode
1533 - system: processes executing in kernel mode
1534 - idle: twiddling thumbs
1535 - iowait: In a word, iowait stands for waiting for I/O to complete. But there
1538 1. CPU will not wait for I/O to complete, iowait is the time that a task is
1539 waiting for I/O to complete. When CPU goes into idle state for
1540 outstanding task I/O, another task will be scheduled on this CPU.
1541 2. In a multi-core CPU, the task waiting for I/O to complete is not running
1547 - irq: servicing interrupts
1548 - softirq: servicing softirqs
1549 - steal: involuntary wait
1550 - guest: running a normal guest
1551 - guest_nice: running a niced guest
1569 running or ready to run (i.e., the total number of runnable threads).
1572 waiting for I/O to complete.
1581 -------------------------------
1585 /proc/fs/ext4 based on its device name (i.e., /proc/fs/ext4/hdc or
1586 /proc/fs/ext4/sda9 or /proc/fs/ext4/dm-0). The files in each per-device
1587 directory are shown in Table 1-12, below.
1589 .. table:: Table 1-12: Files in /proc/fs/ext4/<devname>
1597 -------------------
1604 tty0 -WU (ECp) 4:7
1605 ttyS0 -W- (Ep) 4:64
1609 +--------------------+-------------------------------------------------------+
1615 +--------------------+-------------------------------------------------------+
1622 +--------------------+-------------------------------------------------------+
1625 +--------------------+-------------------------------------------------------+
1628 -------
1641 ---------------
1647 ------------------------------------------------------------------------------
1671 Please see: Documentation/admin-guide/sysctl/ directory for descriptions of
1675 -------
1684 Chapter 3: Per-process Parameters
1687 3.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj- Adjust the oom-killer score
1688 --------------------------------------------------------------------------------
1710 is used to determine which task to kill. Acceptable values range from -1000
1713 task or completely disabling it. The lowest possible value, -1000, is
1721 50% more memory. A value of -500, on the other hand, would be roughly
1726 be used to tune the badness score. Its acceptable values range from -16
1727 (OOM_ADJUST_MIN) to +15 (OOM_ADJUST_MAX) and a special value of -17
1736 3.2 /proc/<pid>/oom_score - Display current oom-killer score
1737 -------------------------------------------------------------
1739 This file can be used to check the current score used by the oom-killer for
1741 process should be killed in an out-of-memory situation.
1747 3.3 /proc/<pid>/io - Display the IO accounting fields
1748 -------------------------------------------------------
1776 I/O counter: chars read
1787 I/O counter: chars written
1795 I/O counter: read syscalls
1796 Attempt to count the number of read I/O operations, i.e. syscalls like read()
1803 I/O counter: write syscalls
1804 Attempt to count the number of write I/O operations, i.e. syscalls like
1811 I/O counter: bytes read
1814 accurate for block-backed filesystems. <please add status regarding NFS and
1821 I/O counter: bytes written
1823 the storage layer. This is done at page-dirtying time.
1842 At its current implementation state, this is a bit racy on 32-bit machines:
1844 of those 64-bit counters, process A could see an intermediate result.
1850 3.4 /proc/<pid>/coredump_filter - Core dump filtering settings
1851 ---------------------------------------------------------------
1853 long as the size of the core file isn't limited. But sometimes we don't want
1855 Conversely, sometimes we want to save file-backed memory segments into a core
1865 - (bit 0) anonymous private memory
1866 - (bit 1) anonymous shared memory
1867 - (bit 2) file-backed private memory
1868 - (bit 3) file-backed shared memory
1869 - (bit 4) ELF header pages in file-backed private memory areas (it is
1871 - (bit 5) hugetlb private memory
1872 - (bit 6) hugetlb shared memory
1873 - (bit 7) DAX private memory
1874 - (bit 8) DAX shared memory
1879 Note that bits 0-4 don't affect hugetlb or DAX memory. hugetlb memory is
1880 only affected by bit 5-6, and DAX is only affected by bits 7-8.
1897 3.5 /proc/<pid>/mountinfo - Information about mounts
1898 --------------------------------------------------------
1902 36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue
1938 --------------------------------------------------------
1941 is limited in size compared to the cmdline value, so writing anything longer
1946 3.7 /proc/<pid>/task/<tid>/children - Information about task children
1947 -------------------------------------------------------------------------
1952 Note the "first level" here -- if a child has its own children they will
1953 not be listed here; one needs to read /proc/<children-pid>/task/<tid>/children
1963 3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file
1964 ---------------------------------------------------------------
1966 files have at least four fields -- 'pos', 'flags', 'mnt_id' and 'ino'.
1997 eventfd-count: 5a
1999 where 'eventfd-count' is hex value of a counter.
2042 …inotify wd:3 ino:9e7e sdev:800013 mask:800afce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_han…
2044 where 'wd' is a watch descriptor in decimal form, i.e. a target file
2051 fields 'fhandle-bytes', 'fhandle-type' and 'f_handle', all in hex
2065 fanotify flags:10 event-flags:0
2067 …fanotify ino:4f969 sdev:800013 mflags:0 mask:3b ignored_mask:40000000 fhandle-bytes:8 fhandle-type…
2069 where fanotify 'flags' and 'event-flags' are values used in fanotify_init
2113 size: 32768
2115 exp_name: system-heap
2117 where 'size' is the size of the DMA buffer in bytes. 'count' is the file count of
2120 3.9 /proc/<pid>/map_files - Information about memory mapped files
2121 ---------------------------------------------------------------------
2125 | lr-------- 1 root root 64 Jan 27 11:24 333c600000-333c620000 -> /usr/lib64/ld-2.18.so
2126 | lr-------- 1 root root 64 Jan 27 11:24 333c81f000-333c820000 -> /usr/lib64/ld-2.18.so
2127 | lr-------- 1 root root 64 Jan 27 11:24 333c820000-333c821000 -> /usr/lib64/ld-2.18.so
2129 | lr-------- 1 root root 64 Jan 27 11:24 35d0421000-35d0422000 -> /usr/lib64/libselinux.so.1
2130 | lr-------- 1 root root 64 Jan 27 11:24 400000-41a000 -> /usr/bin/ls
2132 The name of a link represents the virtual memory bounds of a mapping, i.e.
2133 vm_area_struct::vm_start-vm_area_struct::vm_end.
2142 3.10 /proc/<pid>/timerslack_ns - Task timerslack value
2143 ---------------------------------------------------------
2153 Valid values are from 0 - ULLONG_MAX
2158 3.11 /proc/<pid>/patch_state - Livepatch patch operation state
2159 -----------------------------------------------------------------
2163 A value of '-1' indicates that no patch is in transition.
2175 3.12 /proc/<pid>/arch_status - task architecture specific status
2176 -------------------------------------------------------------------
2216 A special value of '-1' indicates that no AVX512 usage was recorded, thus
2220 3.13 /proc/<pid>/fd - List of symlinks to open files
2221 -------------------------------------------------------
2225 lr-x------ 1 root root 64 Sep 20 17:53 0 -> /dev/null
2226 l-wx------ 1 root root 64 Sep 20 17:53 1 -> /dev/null
2227 lrwx------ 1 root root 64 Sep 20 17:53 10 -> 'socket:[12539]'
2228 lrwx------ 1 root root 64 Sep 20 17:53 11 -> 'socket:[12540]'
2229 lrwx------ 1 root root 64 Sep 20 17:53 12 -> 'socket:[12542]'
2231 The number of open files for the process is stored in 'size' member
2233 -------------------------------------------------------
2240 ---------------------
2250 hidepid=off or hidepid=0 means classic mode - everybody may access all
2264 by "kill -0 $PID"), but it hides process' uid and gid, which may be learned by
2293 # strace -e mount mount -o hidepid=1 -t proc proc /tmp/proc
2304 # mount -o remount,hidepid=1 -t proc proc /tmp/proc
2317 # mount -o hidepid=invisible -t proc proc /proc
2318 # mount -o hidepid=noaccess -t proc proc /tmp/proc