€•Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ$/translations/zh_CN/filesystems/proc”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/zh_TW/filesystems/proc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/it_IT/filesystems/proc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/ja_JP/filesystems/proc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/ko_KR/filesystems/proc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/pt_BR/filesystems/proc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ$/translations/sp_SP/filesystems/proc”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³Œ>/var/lib/git/docbuild/linux/Documentation/filesystems/proc.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒThe /proc Filesystem”h]”hŒThe /proc Filesystem”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒtable”“”)�”}”(hhh]”hŒtgroup”“”)�”}”(hhh]”(hŒcolspec”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhhäubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K'uh1hçhhäubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhhäubhŒtbody”“”)�”}”(hhh]”(hŒrow”“”)�”}”(hhh]”(hŒentry”“”)�”}”(hhh]”hŒ paragraph”“”)�”}”(hŒ /proc/sys”h]”hŒ /proc/sys”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒDTerrehon Bowden , Bodo Bauer ”h]”(hŒTerrehon Bowden <”…”�”}”(hj/h²hh³Nh´NubhŒ reference”“”)�”}”(hŒterrehon@pacbell.net”h]”hŒterrehon@pacbell.net”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:terrehon@pacbell.net”uh1j7hj/ubhŒ>, Bodo Bauer <”…”�”}”(hj/h²hh³Nh´Nubj8)�”}”(hŒbb@ricochet.net”h]”hŒbb@ricochet.net”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:bb@ricochet.net”uh1j7hj/ubhŒ>”…”�”}”(hj/h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Khj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒOctober 7 1999”h]”hŒOctober 7 1999”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Khjmubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ 2.4.x update”h]”hŒ 2.4.x update”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠubj)�”}”(hhh]”j)�”}”(hŒ&Jorge Nerin ”h]”(hŒ Jorge Nerin <”…”�”}”(hj§h²hh³Nh´Nubj8)�”}”(hŒcomandante@zaralinux.com”h]”hŒcomandante@zaralinux.com”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:comandante@zaralinux.com”uh1j7hj§ubhŒ>”…”�”}”(hj§h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K hj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠubj)�”}”(hhh]”j)�”}”(hŒNovember 14 2000”h]”hŒNovember 14 2000”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K hjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmove /proc/sys”h]”hŒmove /proc/sys”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K hjïubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjìubj)�”}”(hhh]”j)�”}”(hŒShen Feng ”h]”(hŒ Shen Feng <”…”�”}”(hj h²hh³Nh´Nubj8)�”}”(hŒshen@cn.fujitsu.com”h]”hŒshen@cn.fujitsu.com”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:shen@cn.fujitsu.com”uh1j7hj ubhŒ>”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjìubj)�”}”(hhh]”j)�”}”(hŒ April 1 2009”h]”hŒ April 1 2009”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒfixes/update part 1.1”h]”hŒfixes/update part 1.1”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K hjQubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjNubj)�”}”(hhh]”j)�”}”(hŒ%Stefani Seibold ”h]”(hŒStefani Seibold <”…”�”}”(hjkh²hh³Nh´Nubj8)�”}”(hŒstefani@seibold.net”h]”hŒstefani@seibold.net”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:stefani@seibold.net”uh1j7hjkubhŒ>”…”�”}”(hjkh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K hjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjNubj)�”}”(hhh]”j)�”}”(hŒ June 9 2009”h]”hŒ June 9 2009”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K hj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhhäubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhhßubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhhÊh²hh³hÇh´Nubh¶)�”}”(hXTable of Contents 0 Preface 0.1 Introduction/Credits 0.2 Legal Stuff 1 Collecting System Information 1.1 Process-Specific Subdirectories 1.2 Kernel data 1.3 Networking info in /proc/net 1.4 SCSI info 1.5 Parallel port info in /proc/parport 1.6 TTY info in /proc/tty 1.7 Miscellaneous kernel statistics in /proc/stat 1.8 Ext4 file system parameters 1.9 /proc/consoles - Shows registered system consoles 2 Modifying System Parameters 3 Per-Process Parameters 3.1 /proc//oom_adj & /proc//oom_score_adj - Adjust the oom-killer score 3.2 /proc//oom_score - Display current oom-killer score 3.3 /proc//io - Display the IO accounting fields 3.4 /proc//coredump_filter - Core dump filtering settings 3.5 /proc//mountinfo - Information about mounts 3.6 /proc//comm & /proc//task//comm 3.7 /proc//task//children - Information about task children 3.8 /proc//fdinfo/ - Information about opened file 3.9 /proc//map_files - Information about memory mapped files 3.10 /proc//timerslack_ns - Task timerslack value 3.11 /proc//patch_state - Livepatch patch operation state 3.12 /proc//arch_status - Task architecture specific information 3.13 /proc//fd - List of symlinks to open files 3.14 /proc//ksm_stat - Information about the process's ksm status. 4 Configuring procfs 4.1 Mount options 4.2 Mount restrictions 5 Filesystem behavior”h]”hXTable of Contents 0 Preface 0.1 Introduction/Credits 0.2 Legal Stuff 1 Collecting System Information 1.1 Process-Specific Subdirectories 1.2 Kernel data 1.3 Networking info in /proc/net 1.4 SCSI info 1.5 Parallel port info in /proc/parport 1.6 TTY info in /proc/tty 1.7 Miscellaneous kernel statistics in /proc/stat 1.8 Ext4 file system parameters 1.9 /proc/consoles - Shows registered system consoles 2 Modifying System Parameters 3 Per-Process Parameters 3.1 /proc//oom_adj & /proc//oom_score_adj - Adjust the oom-killer score 3.2 /proc//oom_score - Display current oom-killer score 3.3 /proc//io - Display the IO accounting fields 3.4 /proc//coredump_filter - Core dump filtering settings 3.5 /proc//mountinfo - Information about mounts 3.6 /proc//comm & /proc//task//comm 3.7 /proc//task//children - Information about task children 3.8 /proc//fdinfo/ - Information about opened file 3.9 /proc//map_files - Information about memory mapped files 3.10 /proc//timerslack_ns - Task timerslack value 3.11 /proc//patch_state - Livepatch patch operation state 3.12 /proc//arch_status - Task architecture specific information 3.13 /proc//fd - List of symlinks to open files 3.14 /proc//ksm_stat - Information about the process's ksm status. 4 Configuring procfs 4.1 Mount options 4.2 Mount restrictions 5 Filesystem behavior”…”�”}”hjÃsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1hµhhÊh²hh³hÇh´K:ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒPreface”h]”hŒPreface”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÑh²hh³hÇh´K or to any of its contained files or subdirectories does not prevent from being reused for some other process in the event that exits. Operations on open /proc/ file descriptors corresponding to dead processes never act on any new process that the kernel may, through chance, have also assigned the process ID . Instead, operations on these FDs usually fail with ESRCH.”h]”hX·Note that an open file descriptor to /proc/ or to any of its contained files or subdirectories does not prevent from being reused for some other process in the event that exits. Operations on open /proc/ file descriptors corresponding to dead processes never act on any new process that the kernel may, through chance, have also assigned the process ID . Instead, operations on these FDs usually fail with ESRCH.”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kyhjþh²hubhÞ)�”}”(hhh]”(hÎ)�”}”(hŒ,Table 1-1: Process specific entries in /proc”h]”hŒ,Table 1-1: Process specific entries in /proc”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍh³hÇh´K�hj‘ubhã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1hçhj¢ubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K?uh1hçhj¢ubhŒthead”“”)�”}”(hhh]”j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒFile”h]”hŒFile”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K„hjÁubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¾ubj)�”}”(hhh]”j)�”}”(hŒContent”h]”hŒContent”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K„hjØubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¾ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj¢ubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ clear_refs”h]”hŒ clear_refs”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K†hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjþubj)�”}”(hhh]”j)�”}”(hŒ1Clears page referenced bits shown in smaps output”h]”hŒ1Clears page referenced bits shown in smaps output”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K†hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjþubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcmdline”h]”hŒcmdline”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K‡hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5ubj)�”}”(hhh]”j)�”}”(hŒCommand line arguments”h]”hŒCommand line arguments”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K‡hjOubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcpu”h]”hŒcpu”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kˆhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjlubj)�”}”(hhh]”j)�”}”(hŒ:Current and last cpu in which it was executed (2.4)(smp)”h]”hŒ:Current and last cpu in which it was executed (2.4)(smp)”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kˆhj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjlubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcwd”h]”hŒcwd”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K‰hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj£ubj)�”}”(hhh]”j)�”}”(hŒ%Link to the current working directory”h]”hŒ%Link to the current working directory”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K‰hj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒenviron”h]”hŒenviron”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KŠhjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÚubj)�”}”(hhh]”j)�”}”(hŒValues of environment variables”h]”hŒValues of environment variables”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KŠhjôubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÚubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒexe”h]”hŒexe”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K‹hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒ&Link to the executable of this process”h]”hŒ&Link to the executable of this process”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K‹hj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒfd”h]”hŒfd”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KŒhjKubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjHubj)�”}”(hhh]”j)�”}”(hŒ.Directory, which contains all file descriptors”h]”hŒ.Directory, which contains all file descriptors”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KŒhjbubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjHubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmaps”h]”hŒmaps”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K�hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒ5Memory maps to executables and library files (2.4)”h]”hŒ5Memory maps to executables and library files (2.4)”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K�hj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmem”h]”hŒmem”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KŽhj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¶ubj)�”}”(hhh]”j)�”}”(hŒMemory held by this process”h]”hŒMemory held by this process”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KŽhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒroot”h]”hŒroot”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K�hjðubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjíubj)�”}”(hhh]”j)�”}”(hŒ*Link to the root directory of this process”h]”hŒ*Link to the root directory of this process”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K�hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒstat”h]”hŒstat”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K�hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj$ubj)�”}”(hhh]”j)�”}”(hŒProcess status”h]”hŒProcess status”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K�hj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒstatm”h]”hŒstatm”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K‘hj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj[ubj)�”}”(hhh]”j)�”}”(hŒ!Process memory status information”h]”hŒ!Process memory status information”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K‘hjuubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒstatus”h]”hŒstatus”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K’hj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj’ubj)�”}”(hhh]”j)�”}”(hŒ%Process status in human readable form”h]”hŒ%Process status in human readable form”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K’hj¬ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj’ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒwchan”h]”hŒwchan”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K“hjÌubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÉubj)�”}”(hhh]”j)�”}”(hŒsPresent with CONFIG_KALLSYMS=y: it shows the kernel function symbol the task is blocked in - or "0" if not blocked.”h]”hŒwPresent with CONFIG_KALLSYMS=y: it shows the kernel function symbol the task is blocked in - or “0â€� if not blocked.”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K“hjãubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÉubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpagemap”h]”hŒpagemap”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K•hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒ Page table”h]”hŒ Page table”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K•hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒstack”h]”hŒstack”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K–hj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7ubj)�”}”(hhh]”j)�”}”(hŒ5Report full stack trace, enable via CONFIG_STACKTRACE”h]”hŒ5Report full stack trace, enable via CONFIG_STACKTRACE”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K–hjQubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsmaps”h]”hŒsmaps”…”�”}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K—hjqubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjnubj)�”}”(hhh]”j)�”}”(hŒgAn extension based on maps, showing the memory consumption of each mapping and flags associated with it”h]”hŒgAn extension based on maps, showing the memory consumption of each mapping and flags associated with it”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K—hjˆubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjnubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ smaps_rollup”h]”hŒ smaps_rollup”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K™hj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¥ubj)�”}”(hhh]”j)�”}”(hŒ{Accumulated smaps stats for all mappings of the process. This can be derived from smaps, but is faster and more convenient”h]”hŒ{Accumulated smaps stats for all mappings of the process. This can be derived from smaps, but is faster and more convenient”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K™hj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¥ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ numa_maps”h]”hŒ numa_maps”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K›hjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÜubj)�”}”(hhh]”j)�”}”(hŒ{An extension based on maps, showing the memory locality and binding policy as well as mem usage (in pages) of each mapping.”h]”hŒ{An extension based on maps, showing the memory locality and binding policy as well as mem usage (in pages) of each mapping.”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K›hjöubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj‘ubeh}”(h]”Œid9”ah ]”h"]”h$]”h&]”uh1hÝhjþh²hh³hÇh´Nubj)�”}”(hŒoFor example, to get the status information of a process, all you have to do is read the file /proc/PID/status::”h]”hŒnFor example, to get the status information of a process, all you have to do is read the file /proc/PID/status:”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KŸhjþh²hubhŒ literal_block”“”)�”}”(hXn>cat /proc/self/status Name: cat State: R (running) Tgid: 5452 Pid: 5452 PPid: 743 TracerPid: 0 (2.4) Uid: 501 501 501 501 Gid: 100 100 100 100 FDSize: 256 Groups: 100 14 16 Kthread: 0 VmPeak: 5004 kB VmSize: 5004 kB 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 VmLib: 1412 kB VmPTE: 20 kb VmSwap: 0 kB HugetlbPages: 0 kB CoreDumping: 0 THP_enabled: 1 Threads: 1 SigQ: 0/28578 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000000000000 SigCgt: 0000000000000000 CapInh: 00000000fffffeff CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff CapAmb: 0000000000000000 NoNewPrivs: 0 Seccomp: 0 Speculation_Store_Bypass: thread vulnerable SpeculationIndirectBranch: conditional enabled voluntary_ctxt_switches: 0 nonvoluntary_ctxt_switches: 1”h]”hXn>cat /proc/self/status Name: cat State: R (running) Tgid: 5452 Pid: 5452 PPid: 743 TracerPid: 0 (2.4) Uid: 501 501 501 501 Gid: 100 100 100 100 FDSize: 256 Groups: 100 14 16 Kthread: 0 VmPeak: 5004 kB VmSize: 5004 kB 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 VmLib: 1412 kB VmPTE: 20 kb VmSwap: 0 kB HugetlbPages: 0 kB CoreDumping: 0 THP_enabled: 1 Threads: 1 SigQ: 0/28578 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000000000 SigIgn: 0000000000000000 SigCgt: 0000000000000000 CapInh: 00000000fffffeff CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff CapAmb: 0000000000000000 NoNewPrivs: 0 Seccomp: 0 Speculation_Store_Bypass: thread vulnerable SpeculationIndirectBranch: conditional enabled voluntary_ctxt_switches: 0 nonvoluntary_ctxt_switches: 1”…”�”}”hj7 sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´K¢hjþh²hubj)�”}”(hX)This shows you nearly the same information you would get if you viewed it with the ps command. In fact, ps uses the proc file system to obtain its information. But you get a more detailed view of the process by reading the file /proc/PID/status. It fields are described in table 1-2.”h]”hX)This shows you nearly the same information you would get if you viewed it with the ps command. In fact, ps uses the proc file system to obtain its information. But you get a more detailed view of the process by reading the file /proc/PID/status. It fields are described in table 1-2.”…”�”}”(hjE h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KÒhjþh²hubj)�”}”(hŒóThe statm file contains more detailed information about the process memory usage. Its seven fields are explained in Table 1-3. The stat file contains detailed information about the process itself. Its fields are explained in Table 1-4.”h]”hŒóThe statm file contains more detailed information about the process memory usage. Its seven fields are explained in Table 1-3. The stat file contains detailed information about the process itself. Its fields are explained in Table 1-4.”…”�”}”(hjS h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K×hjþh²hubj)�”}”(hŒ(for SMP CONFIG users)”h]”hŒ(for SMP CONFIG users)”…”�”}”(hja h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KÜhjþh²hubj)�”}”(hŒÿFor making accounting scalable, RSS related information are handled in an asynchronous manner and the value may not be very precise. To see a precise snapshot of a moment, you can see /proc//smaps file and scan page table. It's slow but very precise.”h]”hXFor making accounting scalable, RSS related information are handled in an asynchronous manner and the value may not be very precise. To see a precise snapshot of a moment, you can see /proc//smaps file and scan page table. It’s slow but very precise.”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KÞhjþh²hubhÞ)�”}”(hhh]”(hÎ)�”}”(hŒ5Table 1-2: Contents of the status fields (as of 4.19)”h]”hŒ5Table 1-2: Contents of the status fields (as of 4.19)”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍh³hÇh´Kãhj} ubhã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhjŽ ubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K3uh1hçhjŽ ubjº)�”}”(hhh]”j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒField”h]”hŒField”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kæhj« ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨ ubj)�”}”(hhh]”j)�”}”(hŒContent”h]”hŒContent”…”�”}”(hjÅ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kæhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¥ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjŽ ubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒName”h]”hŒName”…”�”}”(hjî h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kèhjë ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjè ubj)�”}”(hhh]”j)�”}”(hŒfilename of the executable”h]”hŒfilename of the executable”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kèhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjè ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒUmask”h]”hŒUmask”…”�”}”(hj% h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kéhj" ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)�”}”(hhh]”j)�”}”(hŒfile mode creation mask”h]”hŒfile mode creation mask”…”�”}”(hj< h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kéhj9 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒState”h]”hŒState”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KêhjY ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjV ubj)�”}”(hhh]”j)�”}”(hŒrstate (R is running, S is sleeping, D is sleeping in an uninterruptible wait, Z is zombie, T is traced or stopped)”h]”hŒrstate (R is running, S is sleeping, D is sleeping in an uninterruptible wait, Z is zombie, T is traced or stopped)”…”�”}”(hjs h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kêhjp ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjV ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒTgid”h]”hŒTgid”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kíhj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj� ubj)�”}”(hhh]”j)�”}”(hŒthread group ID”h]”hŒthread group ID”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kíhj§ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj� ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒNgid”h]”hŒNgid”…”�”}”(hjÊ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KîhjÇ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÄ ubj)�”}”(hhh]”j)�”}”(hŒNUMA group ID (0 if none)”h]”hŒNUMA group ID (0 if none)”…”�”}”(hjá h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KîhjÞ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÄ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒPid”h]”hŒPid”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kïhjþ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjû ubj)�”}”(hhh]”j)�”}”(hŒ process id”h]”hŒ process id”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kïhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjû ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒPPid”h]”hŒPPid”…”�”}”(hj8 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kðhj5 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj2 ubj)�”}”(hhh]”j)�”}”(hŒ process id of the parent process”h]”hŒ process id of the parent process”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KðhjL ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj2 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ TracerPid”h]”hŒ TracerPid”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kñhjl ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhji ubj)�”}”(hhh]”j)�”}”(hŒePID of process tracing this process (0 if not, or the tracer is outside of the current pid namespace)”h]”hŒePID of process tracing this process (0 if not, or the tracer is outside of the current pid namespace)”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kñhjƒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhji ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒUid”h]”hŒUid”…”�”}”(hj¦ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kóhj£ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj  ubj)�”}”(hhh]”j)�”}”(hŒ1Real, effective, saved set, and file system UIDs”h]”hŒ1Real, effective, saved set, and file system UIDs”…”�”}”(hj½ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kóhjº ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj  ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒGid”h]”hŒGid”…”�”}”(hjÝ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KôhjÚ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj× ubj)�”}”(hhh]”j)�”}”(hŒ1Real, effective, saved set, and file system GIDs”h]”hŒ1Real, effective, saved set, and file system GIDs”…”�”}”(hjô h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kôhjñ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj× ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒFDSize”h]”hŒFDSize”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kõhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)�”}”(hhh]”j)�”}”(hŒ3number of file descriptor slots currently allocated”h]”hŒ3number of file descriptor slots currently allocated”…”�”}”(hj+ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kõhj( ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒGroups”h]”hŒGroups”…”�”}”(hjK h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KöhjH ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjE ubj)�”}”(hhh]”j)�”}”(hŒsupplementary group list”h]”hŒsupplementary group list”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Köhj_ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjE ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒNStgid”h]”hŒNStgid”…”�”}”(hj‚ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K÷hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj| ubj)�”}”(hhh]”j)�”}”(hŒ.descendant namespace thread group ID hierarchy”h]”hŒ.descendant namespace thread group ID hierarchy”…”�”}”(hj™ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´K÷hj– ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj| ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒNSpid”h]”hŒNSpid”…”�”}”(hj¹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Køhj¶ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj³ ubj)�”}”(hhh]”j)�”}”(hŒ)descendant namespace process ID hierarchy”h]”hŒ)descendant namespace process ID hierarchy”…”�”}”(hjÐ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KøhjÍ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj³ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒNSpgid”h]”hŒNSpgid”…”�”}”(hjð h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kùhjí ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjê ubj)�”}”(hhh]”j)�”}”(hŒ/descendant namespace process group ID hierarchy”h]”hŒ/descendant namespace process group ID hierarchy”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kùhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjê ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒNSsid”h]”hŒNSsid”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kúhj$ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj! ubj)�”}”(hhh]”j)�”}”(hŒ)descendant namespace session ID hierarchy”h]”hŒ)descendant namespace session ID hierarchy”…”�”}”(hj> h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kúhj; ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj! ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒKthread”h]”hŒKthread”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kûhj[ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjX ubj)�”}”(hhh]”j)�”}”(hŒ%kernel thread flag, 1 is yes, 0 is no”h]”hŒ%kernel thread flag, 1 is yes, 0 is no”…”�”}”(hju h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kûhjr ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjX ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmPeak”h]”hŒVmPeak”…”�”}”(hj• h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kühj’ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj� ubj)�”}”(hhh]”j)�”}”(hŒpeak virtual memory size”h]”hŒpeak virtual memory size”…”�”}”(hj¬ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kühj© ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj� ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmSize”h]”hŒVmSize”…”�”}”(hjÌ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KýhjÉ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÆ ubj)�”}”(hhh]”j)�”}”(hŒtotal program size”h]”hŒtotal program size”…”�”}”(hjã h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kýhjà ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÆ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmLck”h]”hŒVmLck”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kþhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjý ubj)�”}”(hhh]”j)�”}”(hŒlocked memory size”h]”hŒlocked memory size”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kþhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjý ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmPin”h]”hŒVmPin”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Kÿhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj4ubj)�”}”(hhh]”j)�”}”(hŒpinned memory size”h]”hŒpinned memory size”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´KÿhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmHWM”h]”hŒVmHWM”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjnubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkubj)�”}”(hhh]”j)�”}”(hŒ*peak resident set size ("high water mark")”h]”hŒ.peak resident set size (“high water markâ€�)”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmRSS”h]”hŒVmRSS”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢ubj)�”}”(hhh]”j)�”}”(hŒesize of memory portions. It contains the three following parts (VmRSS = RssAnon + RssFile + RssShmem)”h]”hŒesize of memory portions. It contains the three following parts (VmRSS = RssAnon + RssFile + RssShmem)”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒRssAnon”h]”hŒRssAnon”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙubj)�”}”(hhh]”j)�”}”(hŒ!size of resident anonymous memory”h]”hŒ!size of resident anonymous memory”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjóubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒRssFile”h]”hŒRssFile”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒsize of resident file mappings”h]”hŒsize of resident file mappings”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒRssShmem”h]”hŒRssShmem”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjGubj)�”}”(hhh]”j)�”}”(hŒasize of resident shmem memory (includes SysV shm, mapping of tmpfs and shared anonymous mappings)”h]”hŒasize of resident shmem memory (includes SysV shm, mapping of tmpfs and shared anonymous mappings)”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjGubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmData”h]”hŒVmData”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~ubj)�”}”(hhh]”j)�”}”(hŒsize of private data segments”h]”hŒsize of private data segments”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmStk”h]”hŒVmStk”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjµubj)�”}”(hhh]”j)�”}”(hŒsize of stack segments”h]”hŒsize of stack segments”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmExe”h]”hŒVmExe”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjïubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjìubj)�”}”(hhh]”j)�”}”(hŒsize of text segment”h]”hŒsize of text segment”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjìubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmLib”h]”hŒVmLib”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#ubj)�”}”(hhh]”j)�”}”(hŒsize of shared library code”h]”hŒsize of shared library code”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmPTE”h]”hŒVmPTE”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjZubj)�”}”(hhh]”j)�”}”(hŒsize of page table entries”h]”hŒsize of page table entries”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒVmSwap”h]”hŒVmSwap”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘ubj)�”}”(hhh]”j)�”}”(hŒPamount of swap used by anonymous private data (shmem swap usage is not included)”h]”hŒPamount of swap used by anonymous private data (shmem swap usage is not included)”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ HugetlbPages”h]”hŒ HugetlbPages”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÈubj)�”}”(hhh]”j)�”}”(hŒsize of hugetlb memory portions”h]”hŒsize of hugetlb memory portions”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÈubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ CoreDumping”h]”hŒ CoreDumping”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÿubj)�”}”(hhh]”j)�”}”(hŒ]process's memory is currently being dumped (killing the process may lead to a corrupted core)”h]”hŒ_process’s memory is currently being dumped (killing the process may lead to a corrupted core)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ THP_enabled”h]”hŒ THP_enabled”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6ubj)�”}”(hhh]”j)�”}”(hŒ…process is allowed to use THP (returns 0 when PR_SET_THP_DISABLE is set on the process to disable THP completely, not just partially)”h]”hŒ…process is allowed to use THP (returns 0 when PR_SET_THP_DISABLE is set on the process to disable THP completely, not just partially)”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒThreads”h]”hŒThreads”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjmubj)�”}”(hhh]”j)�”}”(hŒnumber of threads”h]”hŒnumber of threads”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒSigQ”h]”hŒSigQ”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤ubj)�”}”(hhh]”j)�”}”(hŒ.number of signals queued/max. number for queue”h]”hŒ.number of signals queued/max. number for queue”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒSigPnd”h]”hŒSigPnd”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛubj)�”}”(hhh]”j)�”}”(hŒ(bitmap of pending signals for the thread”h]”hŒ(bitmap of pending signals for the thread”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒShdPnd”h]”hŒShdPnd”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒ0bitmap of shared pending signals for the process”h]”hŒ0bitmap of shared pending signals for the process”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒSigBlk”h]”hŒSigBlk”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjIubj)�”}”(hhh]”j)�”}”(hŒbitmap of blocked signals”h]”hŒbitmap of blocked signals”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjcubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒSigIgn”h]”hŒSigIgn”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€ubj)�”}”(hhh]”j)�”}”(hŒbitmap of ignored signals”h]”hŒbitmap of ignored signals”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjšubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒSigCgt”h]”hŒSigCgt”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj·ubj)�”}”(hhh]”j)�”}”(hŒbitmap of caught signals”h]”hŒbitmap of caught signals”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒCapInh”h]”hŒCapInh”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjîubj)�”}”(hhh]”j)�”}”(hŒ"bitmap of inheritable capabilities”h]”hŒ"bitmap of inheritable capabilities”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒCapPrm”h]”hŒCapPrm”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%ubj)�”}”(hhh]”j)�”}”(hŒ bitmap of permitted capabilities”h]”hŒ bitmap of permitted capabilities”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒCapEff”h]”hŒCapEff”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubj)�”}”(hhh]”j)�”}”(hŒ bitmap of effective capabilities”h]”hŒ bitmap of effective capabilities”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒCapBnd”h]”hŒCapBnd”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“ubj)�”}”(hhh]”j)�”}”(hŒ#bitmap of capabilities bounding set”h]”hŒ#bitmap of capabilities bounding set”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒCapAmb”h]”hŒCapAmb”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊubj)�”}”(hhh]”j)�”}”(hŒbitmap of ambient capabilities”h]”hŒbitmap of ambient capabilities”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ NoNewPrivs”h]”hŒ NoNewPrivs”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M!hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒ1no_new_privs, like prctl(PR_GET_NO_NEW_PRIV, ...)”h]”hŒ1no_new_privs, like prctl(PR_GET_NO_NEW_PRIV, ...)”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M!hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒSeccomp”h]”hŒSeccomp”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M"hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8ubj)�”}”(hhh]”j)�”}”(hŒ-seccomp mode, like prctl(PR_GET_SECCOMP, ...)”h]”hŒ-seccomp mode, like prctl(PR_GET_SECCOMP, ...)”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M"hjRubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒSpeculation_Store_Bypass”h]”hŒSpeculation_Store_Bypass”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M#hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjoubj)�”}”(hhh]”j)�”}”(hŒ*speculative store bypass mitigation status”h]”hŒ*speculative store bypass mitigation status”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M#hj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒSpeculationIndirectBranch”h]”hŒSpeculationIndirectBranch”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M$hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦ubj)�”}”(hhh]”j)�”}”(hŒ indirect branch speculation mode”h]”hŒ indirect branch speculation mode”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M$hjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ Cpus_allowed”h]”hŒ Cpus_allowed”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M%hjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝubj)�”}”(hhh]”j)�”}”(hŒ*mask of CPUs on which this process may run”h]”hŒ*mask of CPUs on which this process may run”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M%hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒCpus_allowed_list”h]”hŒCpus_allowed_list”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M&hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒ&Same as previous, but in "list format"”h]”hŒ*Same as previous, but in “list formatâ€�”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M&hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ Mems_allowed”h]”hŒ Mems_allowed”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M'hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjKubj)�”}”(hhh]”j)�”}”(hŒ,mask of memory nodes allowed to this process”h]”hŒ,mask of memory nodes allowed to this process”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M'hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒMems_allowed_list”h]”hŒMems_allowed_list”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M(hj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚ubj)�”}”(hhh]”j)�”}”(hŒ&Same as previous, but in "list format"”h]”hŒ*Same as previous, but in “list formatâ€�”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M(hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒvoluntary_ctxt_switches”h]”hŒvoluntary_ctxt_switches”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M)hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubj)�”}”(hhh]”j)�”}”(hŒ$number of voluntary context switches”h]”hŒ$number of voluntary context switches”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M)hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒnonvoluntary_ctxt_switches”h]”hŒnonvoluntary_ctxt_switches”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M*hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjðubj)�”}”(hhh]”j)�”}”(hŒ(number of non voluntary context switches”h]”hŒ(number of non voluntary context switches”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M*hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjå ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjŽ ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj} ubeh}”(h]”Œid10”ah ]”h"]”h$]”h&]”uh1hÝhjþh²hh³hÇh´NubhÞ)�”}”(hhh]”(hÎ)�”}”(hŒ9Table 1-3: Contents of the statm fields (as of 2.6.8-rc3)”h]”hŒ9Table 1-3: Contents of the statm fields (as of 2.6.8-rc3)”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍh³hÇh´M.hj;ubhã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhjLubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhjLubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhjLubjº)�”}”(hhh]”j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒField”h]”hŒField”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M1hjsubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjpubj)�”}”(hhh]”j)�”}”(hŒContent”h]”hŒContent”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M1hjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjpubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jhjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjLubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsize”h]”hŒsize”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M3hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubj)�”}”(hhh]”j)�”}”(hŒtotal program size (pages)”h]”hŒtotal program size (pages)”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M3hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubj)�”}”(hhh]”j)�”}”(hŒ(same as VmSize in status)”h]”hŒ(same as VmSize in status)”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M3hjêubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¶ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒresident”h]”hŒresident”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M4hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒsize of memory portions (pages)”h]”hŒsize of memory portions (pages)”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M4hj!ubah}”(•h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒ(same as VmRSS in status)”h]”hŒ(same as VmRSS in status)”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M4hj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¶ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒshared”h]”hŒshared”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M5hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjUubj)�”}”(hhh]”j)�”}”(hŒnumber of pages that are shared”h]”hŒnumber of pages that are shared”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M5hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjUubj)�”}”(hhh]”j)�”}”(hŒ;(i.e. backed by a file, same as RssFile+RssShmem in status)”h]”hŒ;(i.e. backed by a file, same as RssFile+RssShmem in status)”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M5hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¶ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒtrs”h]”hŒtrs”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M7hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj£ubj)�”}”(hhh]”j)�”}”(hŒnumber of pages that are 'code'”h]”hŒ#number of pages that are ‘code’”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M7hj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj£ubj)�”}”(hhh]”j)�”}”(hŒ3(not including libs; broken, includes data segment)”h]”hŒ3(not including libs; broken, includes data segment)”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M7hjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¶ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒlrs”h]”hŒlrs”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M9hjôubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñubj)�”}”(hhh]”j)�”}”(hŒnumber of pages of library”h]”hŒnumber of pages of library”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M9hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñubj)�”}”(hhh]”j)�”}”(hŒ(always 0 on 2.6)”h]”hŒ(always 0 on 2.6)”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M9hj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¶ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdrs”h]”hŒdrs”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M:hjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj?ubj)�”}”(hhh]”j)�”}”(hŒnumber of pages of data/stack”h]”hŒnumber of pages of data/stack”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M:hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj?ubj)�”}”(hhh]”j)�”}”(hŒ/(including libs; broken, includes library text)”h]”hŒ/(including libs; broken, includes library text)”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M:hjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¶ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdt”h]”hŒdt”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M<hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubj)�”}”(hhh]”j)�”}”(hŒnumber of dirty pages”h]”hŒnumber of dirty pages”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M<hj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubj)�”}”(hhh]”j)�”}”(hŒ(always 0 on 2.6)”h]”hŒ(always 0 on 2.6)”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M<hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj¶ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjLubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj;ubeh}”(h]”Œid11”ah ]”h"]”h$]”h&]”uh1hÝhjþh²hh³hÇh´NubhÞ)�”}”(hhh]”(hÎ)�”}”(hŒ9Table 1-4: Contents of the stat fields (as of 2.6.30-rc7)”h]”hŒ9Table 1-4: Contents of the stat fields (as of 2.6.30-rc7)”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍh³hÇh´M@hjïubhã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1hçhjubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K?uh1hçhjubjº)�”}”(hhh]”j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒField”h]”hŒField”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MChjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒContent”h]”hŒContent”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MChj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpid”h]”hŒpid”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MEhj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjZubj)�”}”(hhh]”j)�”}”(hŒ process id”h]”hŒ process id”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MEhjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒtcomm”h]”hŒtcomm”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MFhj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘ubj)�”}”(hhh]”j)�”}”(hŒfilename of the executable”h]”hŒfilename of the executable”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MFhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒstate”h]”hŒstate”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MGhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÈubj)�”}”(hhh]”j)�”}”(hŒrstate (R is running, S is sleeping, D is sleeping in an uninterruptible wait, Z is zombie, T is traced or stopped)”h]”hŒrstate (R is running, S is sleeping, D is sleeping in an uninterruptible wait, Z is zombie, T is traced or stopped)”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MGhjâubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÈubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒppid”h]”hŒppid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MIhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÿubj)�”}”(hhh]”j)�”}”(hŒ process id of the parent process”h]”hŒ process id of the parent process”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MIhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÿubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpgrp”h]”hŒpgrp”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MJhj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6ubj)�”}”(hhh]”j)�”}”(hŒpgrp of the process”h]”hŒpgrp of the process”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MJhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsid”h]”hŒsid”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MKhjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjmubj)�”}”(hhh]”j)�”}”(hŒ session id”h]”hŒ session id”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MKhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjmubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒtty_nr”h]”hŒtty_nr”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MLhj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤ubj)�”}”(hhh]”j)�”}”(hŒtty the process uses”h]”hŒtty the process uses”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MLhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒtty_pgrp”h]”hŒtty_pgrp”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MMhjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛubj)�”}”(hhh]”j)�”}”(hŒpgrp of the tty”h]”hŒpgrp of the tty”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MMhjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MNhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒ task flags”h]”hŒ task flags”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MNhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmin_flt”h]”hŒmin_flt”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MOhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjIubj)�”}”(hhh]”j)�”}”(hŒnumber of minor faults”h]”hŒnumber of minor faults”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MOhjcubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcmin_flt”h]”hŒcmin_flt”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MPhjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€ubj)�”}”(hhh]”j)�”}”(hŒ#number of minor faults with child's”h]”hŒ%number of minor faults with child’s”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MPhjšubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmaj_flt”h]”hŒmaj_flt”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MQhjºubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj·ubj)�”}”(hhh]”j)�”}”(hŒnumber of major faults”h]”hŒnumber of major faults”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MQhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj·ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcmaj_flt”h]”hŒcmaj_flt”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MRhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjîubj)�”}”(hhh]”j)�”}”(hŒ#number of major faults with child's”h]”hŒ%number of major faults with child’s”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MRhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjîubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒutime”h]”hŒutime”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MShj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%ubj)�”}”(hhh]”j)�”}”(hŒuser mode jiffies”h]”hŒuser mode jiffies”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MShj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒstime”h]”hŒstime”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MThj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubj)�”}”(hhh]”j)�”}”(hŒkernel mode jiffies”h]”hŒkernel mode jiffies”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MThjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcutime”h]”hŒcutime”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MUhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“ubj)�”}”(hhh]”j)�”}”(hŒuser mode jiffies with child's”h]”hŒ user mode jiffies with child’s”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MUhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcstime”h]”hŒcstime”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MVhjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊubj)�”}”(hhh]”j)�”}”(hŒ kernel mode jiffies with child's”h]”hŒ"kernel mode jiffies with child’s”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MVhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpriority”h]”hŒpriority”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MWhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒpriority level”h]”hŒpriority level”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MWhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒnice”h]”hŒnice”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MXhj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8ubj)�”}”(hhh]”j)�”}”(hŒ nice level”h]”hŒ nice level”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MXhjRubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ num_threads”h]”hŒ num_threads”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MYhjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjoubj)�”}”(hhh]”j)�”}”(hŒnumber of threads”h]”hŒnumber of threads”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MYhj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ it_real_value”h]”hŒ it_real_value”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MZhj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦ubj)�”}”(hhh]”j)�”}”(hŒ(obsolete, always 0)”h]”hŒ(obsolete, always 0)”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MZhjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ start_time”h]”hŒ start_time”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M[hjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝubj)�”}”(hhh]”j)�”}”(hŒ*time the process started after system boot”h]”hŒ*time the process started after system boot”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M[hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒvsize”h]”hŒvsize”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M\hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubj)�”}”(hhh]”j)�”}”(hŒvirtual memory size”h]”hŒvirtual memory size”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M\hj.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒrss”h]”hŒrss”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M]hjNubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjKubj)�”}”(hhh]”j)�”}”(hŒresident set memory size”h]”hŒresident set memory size”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M]hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒrsslim”h]”hŒrsslim”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M^hj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚ubj)�”}”(hhh]”j)�”}”(hŒ!current limit in bytes on the rss”h]”hŒ!current limit in bytes on the rss”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M^hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ start_code”h]”hŒ start_code”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M_hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubj)�”}”(hhh]”j)�”}”(hŒ(address above which program text can run”h]”hŒ(address above which program text can run”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M_hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒend_code”h]”hŒend_code”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M`hjóubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjðubj)�”}”(hhh]”j)�”}”(hŒ(address below which program text can run”h]”hŒ(address below which program text can run”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M`hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjðubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ start_stack”h]”hŒ start_stack”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mahj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj'ubj)�”}”(hhh]”j)�”}”(hŒ.address of the start of the main process stack”h]”hŒ.address of the start of the main process stack”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MahjAubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒesp”h]”hŒesp”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mbhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^ubj)�”}”(hhh]”j)�”}”(hŒcurrent value of ESP”h]”hŒcurrent value of ESP”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mbhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒeip”h]”hŒeip”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mchj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•ubj)�”}”(hhh]”j)�”}”(hŒcurrent value of EIP”h]”hŒcurrent value of EIP”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mchj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpending”h]”hŒpending”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MdhjÏubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌubj)�”}”(hhh]”j)�”}”(hŒbitmap of pending signals”h]”hŒbitmap of pending signals”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mdhjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒblocked”h]”hŒblocked”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mehj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubj)�”}”(hhh]”j)�”}”(hŒbitmap of blocked signals”h]”hŒbitmap of blocked signals”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mehj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsigign”h]”hŒsigign”…”�”}”(hj@ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mfhj= ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj: ubj)�”}”(hhh]”j)�”}”(hŒbitmap of ignored signals”h]”hŒbitmap of ignored signals”…”�”}”(hjW h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MfhjT ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj: ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsigcatch”h]”hŒsigcatch”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mghjt ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjq ubj)�”}”(hhh]”j)�”}”(hŒbitmap of caught signals”h]”hŒbitmap of caught signals”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mghj‹ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjq ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ0”h]”hŒ0”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhhj« ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨ ubj)�”}”(hhh]”j)�”}”(hŒI(place holder, used to be the wchan address, use /proc/PID/wchan instead)”h]”hŒI(place holder, used to be the wchan address, use /proc/PID/wchan instead)”…”�”}”(hjÅ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hj° h]”hŒ0”…”�”}”(hjå h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mjhjâ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjß ubj)�”}”(hhh]”j)�”}”(hŒ(place holder)”h]”hŒ(place holder)”…”�”}”(hjû h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mjhjø ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjß ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hj° h]”hŒ0”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mkhj!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj!ubj)�”}”(hhh]”j)�”}”(hŒ(place holder)”h]”hŒ(place holder)”…”�”}”(hj1!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mkhj.!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ exit_signal”h]”hŒ exit_signal”…”�”}”(hjQ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MlhjN!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjK!ubj)�”}”(hhh]”j)�”}”(hŒ'signal to send to parent thread on exit”h]”hŒ'signal to send to parent thread on exit”…”�”}”(hjh!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mlhje!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjK!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒtask_cpu”h]”hŒtask_cpu”…”�”}”(hjˆ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mmhj…!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚!ubj)�”}”(hhh]”j)�”}”(hŒ"which CPU the task is scheduled on”h]”hŒ"which CPU the task is scheduled on”…”�”}”(hjŸ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mmhjœ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ rt_priority”h]”hŒ rt_priority”…”�”}”(hj¿!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mnhj¼!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹!ubj)�”}”(hhh]”j)�”}”(hŒrealtime priority”h]”hŒrealtime priority”…”�”}”(hjÖ!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MnhjÓ!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpolicy”h]”hŒpolicy”…”�”}”(hjö!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mohjó!ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjð!ubj)�”}”(hhh]”j)�”}”(hŒ*scheduling policy (man sched_setscheduler)”h]”hŒ*scheduling policy (man sched_setscheduler)”…”�”}”(hj "h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mohj "ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjð!ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ blkio_ticks”h]”hŒ blkio_ticks”…”�”}”(hj-"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mphj*"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj'"ubj)�”}”(hhh]”j)�”}”(hŒtime spent waiting for block IO”h]”hŒtime spent waiting for block IO”…”�”}”(hjD"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MphjA"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj'"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒgtime”h]”hŒgtime”…”�”}”(hjd"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mqhja"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^"ubj)�”}”(hhh]”j)�”}”(hŒ!guest time of the task in jiffies”h]”hŒ!guest time of the task in jiffies”…”�”}”(hj{"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mqhjx"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcgtime”h]”hŒcgtime”…”�”}”(hj›"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mrhj˜"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•"ubj)�”}”(hhh]”j)�”}”(hŒ*guest time of the task children in jiffies”h]”hŒ*guest time of the task children in jiffies”…”�”}”(hj²"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mrhj¯"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ start_data”h]”hŒ start_data”…”�”}”(hjÒ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MshjÏ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌ"ubj)�”}”(hhh]”j)�”}”(hŒ.address above which program data+bss is placed”h]”hŒ.address above which program data+bss is placed”…”�”}”(hjé"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mshjæ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌ"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒend_data”h]”hŒend_data”…”�”}”(hj #h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mthj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#ubj)�”}”(hhh]”j)�”}”(hŒ.address below which program data+bss is placed”h]”hŒ.address below which program data+bss is placed”…”�”}”(hj #h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mthj#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ start_brk”h]”hŒ start_brk”…”�”}”(hj@#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Muhj=#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:#ubj)�”}”(hhh]”j)�”}”(hŒ;address above which program heap can be expanded with brk()”h]”hŒ;address above which program heap can be expanded with brk()”…”�”}”(hjW#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MuhjT#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ arg_start”h]”hŒ arg_start”…”�”}”(hjw#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mvhjt#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjq#ubj)�”}”(hhh]”j)�”}”(hŒ2address above which program command line is placed”h]”hŒ2address above which program command line is placed”…”�”}”(hjŽ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mvhj‹#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjq#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒarg_end”h]”hŒarg_end”…”�”}”(hj®#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mwhj«#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨#ubj)�”}”(hhh]”j)�”}”(hŒ2address below which program command line is placed”h]”hŒ2address below which program command line is placed”…”�”}”(hjÅ#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MwhjÂ#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ env_start”h]”hŒ env_start”…”�”}”(hjå#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mxhjâ#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjß#ubj)�”}”(hhh]”j)�”}”(hŒ1address above which program environment is placed”h]”hŒ1address above which program environment is placed”…”�”}”(hjü#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mxhjù#ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjß#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒenv_end”h]”hŒenv_end”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Myhj$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj$ubj)�”}”(hhh]”j)�”}”(hŒ1address below which program environment is placed”h]”hŒ1address below which program environment is placed”…”�”}”(hj3$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Myhj0$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ exit_code”h]”hŒ exit_code”…”�”}”(hjS$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MzhjP$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjM$ubj)�”}”(hhh]”j)�”}”(hŒFthe thread's exit_code in the form reported by the waitpid system call”h]”hŒHthe thread’s exit_code in the form reported by the waitpid system call”…”�”}”(hjj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mzhjg$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjM$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjWubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhjïubeh}”(h]”Œid12”ah ]”h"]”h$]”h&]”uh1hÝhjþh²hh³hÇh´Nubj)�”}”(hŒbThe /proc/PID/maps file contains the currently mapped memory regions and their access permissions.”h]”hŒbThe /proc/PID/maps file contains the currently mapped memory regions and their access permissions.”…”�”}”(hj˜$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M~hjþh²hubj)�”}”(hŒThe format is::”h]”hŒThe format is:”…”�”}”(hj¦$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hjþh²hubj6 )�”}”(hX§address perms offset dev inode pathname 08048000-08049000 r-xp 00000000 03:00 8312 /opt/test 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test 0804a000-0806b000 rw-p 00000000 00:00 0 [heap] a7cb1000-a7cb2000 ---p 00000000 00:00 0 a7cb2000-a7eb2000 rw-p 00000000 00:00 0 a7eb2000-a7eb3000 ---p 00000000 00:00 0 a7eb3000-a7ed5000 rw-p 00000000 00:00 0 a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6 a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6 a800b000-a800e000 rw-p 00000000 00:00 0 a800e000-a8022000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0 a8022000-a8023000 r--p 00013000 03:00 14462 /lib/libpthread.so.0 a8023000-a8024000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0 a8024000-a8027000 rw-p 00000000 00:00 0 a8027000-a8043000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2 a8043000-a8044000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2 a8044000-a8045000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2 aff35000-aff4a000 rw-p 00000000 00:00 0 [stack] ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]”h]”hX§address perms offset dev inode pathname 08048000-08049000 r-xp 00000000 03:00 8312 /opt/test 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test 0804a000-0806b000 rw-p 00000000 00:00 0 [heap] a7cb1000-a7cb2000 ---p 00000000 00:00 0 a7cb2000-a7eb2000 rw-p 00000000 00:00 0 a7eb2000-a7eb3000 ---p 00000000 00:00 0 a7eb3000-a7ed5000 rw-p 00000000 00:00 0 a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6 a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6 a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6 a800b000-a800e000 rw-p 00000000 00:00 0 a800e000-a8022000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0 a8022000-a8023000 r--p 00013000 03:00 14462 /lib/libpthread.so.0 a8023000-a8024000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0 a8024000-a8027000 rw-p 00000000 00:00 0 a8027000-a8043000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2 a8043000-a8044000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2 a8044000-a8045000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2 aff35000-aff4a000 rw-p 00000000 00:00 0 [stack] ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]”…”�”}”hj´$sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´Mƒhjþh²hubj)�”}”(hŒgwhere "address" is the address space in the process that it occupies, "perms" is a set of permissions::”h]”hŒnwhere “addressâ€� is the address space in the process that it occupies, “permsâ€� is a set of permissions:”…”�”}”(hjÂ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mšhjþh²hubj6 )�”}”(hŒEr = read w = write x = execute s = shared p = private (copy on write)”h]”hŒEr = read w = write x = execute s = shared p = private (copy on write)”…”�”}”hjÐ$sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M�hjþh²hubj)�”}”(hXZ"offset" is the offset into the mapping, "dev" is the device (major:minor), and "inode" is the inode on that device. 0 indicates that no inode is associated with the memory region, as the case would be with BSS (uninitialized data). The "pathname" shows the name associated file for this mapping. If the mapping is not associated with a file:”h]”hXj“offsetâ€� is the offset into the mapping, “devâ€� is the device (major:minor), and “inodeâ€� is the inode on that device. 0 indicates that no inode is associated with the memory region, as the case would be with BSS (uninitialized data). The “pathnameâ€� shows the name associated file for this mapping. If the mapping is not associated with a file:”…”�”}”(hjÞ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M£hjþh²hubhŒ block_quote”“”)�”}”(hX‰=================== =========================================== [heap] the heap of the program [stack] the stack of the main process [vdso] the "virtual dynamic shared object", the kernel system call handler [anon:] a private anonymous mapping that has been named by userspace [anon_shmem:] an anonymous shared memory mapping that has been named by userspace =================== =========================================== or if empty, the mapping is anonymous. ”h]”(hÞ)�”}”(hhh]”hã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhjõ$ubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K+uh1hçhjõ$ubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ[heap]”h]”hŒ[heap]”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mªhj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%ubj)�”}”(hhh]”j)�”}”(hŒthe heap of the program”h]”hŒthe heap of the program”…”�”}”(hj,%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mªhj)%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj %ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ[stack]”h]”hŒ[stack]”…”�”}”(hjL%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M«hjI%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjF%ubj)�”}”(hhh]”j)�”}”(hŒthe stack of the main process”h]”hŒthe stack of the main process”…”�”}”(hjc%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M«hj`%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjF%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj %ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ[vdso]”h]”hŒ[vdso]”…”�”}”(hjƒ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¬hj€%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}%ubj)�”}”(hhh]”j)�”}”(hŒCthe "virtual dynamic shared object", the kernel system call handler”h]”hŒGthe “virtual dynamic shared objectâ€�, the kernel system call handler”…”�”}”(hjš%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¬hj—%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj %ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ [anon:]”h]”hŒ [anon:]”…”�”}”(hjº%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M®hj·%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj´%ubj)�”}”(hhh]”j)�”}”(hŒ]”h]”hŒ[anon_shmem:]”…”�”}”(hjñ%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M°hjî%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjë%ubj)�”}”(hhh]”j)�”}”(hŒCan anonymous shared memory mapping that has been named by userspace”h]”hŒCan anonymous shared memory mapping that has been named by userspace”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M°hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjë%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj %ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjõ$ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhjò$ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjî$ubj)�”}”(hŒ&or if empty, the mapping is anonymous.”h]”hŒ&or if empty, the mapping is anonymous.”…”�”}”(hj5&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M´hjî$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´M©hjþh²hubj)�”}”(hXStarting with 6.11 kernel, /proc/PID/maps provides an alternative ioctl()-based API that gives ability to flexibly and efficiently query and filter individual VMAs. This interface is binary and is meant for more efficient and easy programmatic use. `struct procmap_query`, defined in linux/fs.h UAPI header, serves as an input/output argument to the `PROCMAP_QUERY` ioctl() command. See comments in linus/fs.h UAPI header for details on query semantics, supported flags, data returned, and general API usage information.”h]”(hŒùStarting with 6.11 kernel, /proc/PID/maps provides an alternative ioctl()-based API that gives ability to flexibly and efficiently query and filter individual VMAs. This interface is binary and is meant for more efficient and easy programmatic use. ”…”�”}”(hjI&h²hh³Nh´Nubj4)�”}”(hŒ`struct procmap_query`”h]”hŒstruct procmap_query”…”�”}”(hjQ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjI&ubhŒO, defined in linux/fs.h UAPI header, serves as an input/output argument to the ”…”�”}”(hjI&h²hh³Nh´Nubj4)�”}”(hŒ`PROCMAP_QUERY`”h]”hŒ PROCMAP_QUERY”…”�”}”(hjc&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjI&ubhŒ› ioctl() command. See comments in linus/fs.h UAPI header for details on query semantics, supported flags, data returned, and general API usage information.”…”�”}”(hjI&h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¶hjþh²hubj)�”}”(hŒÛThe /proc/PID/smaps is an extension based on maps, showing the memory consumption for each of the process's mappings. For each mapping (aka Virtual Memory Area, or VMA) there is a series of lines such as the following::”h]”hŒÜThe /proc/PID/smaps is an extension based on maps, showing the memory consumption for each of the process’s mappings. For each mapping (aka Virtual Memory Area, or VMA) there is a series of lines such as the following:”…”�”}”(hj{&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¿hjþh²hubj6 )�”}”(hX×08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash Size: 1084 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 892 kB Pss: 374 kB Pss_Dirty: 0 kB Shared_Clean: 892 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 892 kB Anonymous: 0 kB KSM: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB FilePmdMapped: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd ex mr mw me dw”h]”hX×08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash Size: 1084 kB KernelPageSize: 4 kB MMUPageSize: 4 kB Rss: 892 kB Pss: 374 kB Pss_Dirty: 0 kB Shared_Clean: 892 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB Referenced: 892 kB Anonymous: 0 kB KSM: 0 kB LazyFree: 0 kB AnonHugePages: 0 kB FilePmdMapped: 0 kB ShmemPmdMapped: 0 kB Shared_Hugetlb: 0 kB Private_Hugetlb: 0 kB Swap: 0 kB SwapPss: 0 kB Locked: 0 kB THPeligible: 0 VmFlags: rd ex mr mw me dw”…”�”}”hj‰&sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MÃhjþh²hubj)�”}”(hXWThe first of these lines shows the same information as is displayed for the mapping in /proc/PID/maps. Following lines show the size of the mapping (size); the smallest possible page size allocated when backing a VMA (KernelPageSize), which is the granularity in which VMA modifications can be performed; the smallest possible page size that could be used by the MMU (MMUPageSize) when backing a VMA; the amount of the mapping that is currently resident in RAM (RSS); the process's proportional share of this mapping (PSS); and the number of clean and dirty shared and private pages in the mapping.”h]”hXYThe first of these lines shows the same information as is displayed for the mapping in /proc/PID/maps. Following lines show the size of the mapping (size); the smallest possible page size allocated when backing a VMA (KernelPageSize), which is the granularity in which VMA modifications can be performed; the smallest possible page size that could be used by the MMU (MMUPageSize) when backing a VMA; the amount of the mapping that is currently resident in RAM (RSS); the process’s proportional share of this mapping (PSS); and the number of clean and dirty shared and private pages in the mapping.”…”�”}”(hj—&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÞhjþh²hubj)�”}”(hXõ"KernelPageSize" always corresponds to "MMUPageSize", except when a larger kernel page size is emulated on a system with a smaller page size used by the MMU, which is the case for some PPC64 setups with hugetlb. Furthermore, "KernelPageSize" and "MMUPageSize" always correspond to the smallest possible granularity (fallback) that can be encountered in a VMA throughout its lifetime. These values are not affected by Transparent Huge Pages being in effect, or any usage of larger MMU page sizes (either through architectural huge-page mappings or other explicit/implicit coalescing of virtual ranges performed by the MMU). "AnonHugePages", "ShmemPmdMapped" and "FilePmdMapped" provide insight into the usage of PMD-level architectural huge-page mappings.”h]”hX“KernelPageSizeâ€� always corresponds to “MMUPageSizeâ€�, except when a larger kernel page size is emulated on a system with a smaller page size used by the MMU, which is the case for some PPC64 setups with hugetlb. Furthermore, “KernelPageSizeâ€� and “MMUPageSizeâ€� always correspond to the smallest possible granularity (fallback) that can be encountered in a VMA throughout its lifetime. These values are not affected by Transparent Huge Pages being in effect, or any usage of larger MMU page sizes (either through architectural huge-page mappings or other explicit/implicit coalescing of virtual ranges performed by the MMU). “AnonHugePagesâ€�, “ShmemPmdMappedâ€� and “FilePmdMappedâ€� provide insight into the usage of PMD-level architectural huge-page mappings.”…”�”}”(hj¥&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mèhjþh²hubj)�”}”(hX¦The "proportional set size" (PSS) of a process is the count of pages it has in memory, where each page is divided by the number of processes sharing it. So if a process has 1000 pages all to itself, and 1000 shared with one other process, its PSS will be 1500. "Pss_Dirty" is the portion of PSS which consists of dirty pages. ("Pss_Clean" is not included, but it can be calculated by subtracting "Pss_Dirty" from "Pss".)”h]”hXºThe “proportional set sizeâ€� (PSS) of a process is the count of pages it has in memory, where each page is divided by the number of processes sharing it. So if a process has 1000 pages all to itself, and 1000 shared with one other process, its PSS will be 1500. “Pss_Dirtyâ€� is the portion of PSS which consists of dirty pages. (“Pss_Cleanâ€� is not included, but it can be calculated by subtracting “Pss_Dirtyâ€� from “Pssâ€�.)”…”�”}”(hj³&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Môhjþh²hubj)�”}”(hŒúTraditionally, a page is accounted as "private" if it is mapped exactly once, and a page is accounted as "shared" when mapped multiple times, even when mapped in the same process multiple times. Note that this accounting is independent of MAP_SHARED.”h]”hXTraditionally, a page is accounted as “privateâ€� if it is mapped exactly once, and a page is accounted as “sharedâ€� when mapped multiple times, even when mapped in the same process multiple times. Note that this accounting is independent of MAP_SHARED.”…”�”}”(hjÁ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mûhjþh²hubj)�”}”(hXIn some kernel configurations, the semantics of pages part of a larger allocation (e.g., THP) can differ: a page is accounted as "private" if all pages part of the corresponding large allocation are *certainly* mapped in the same process, even if the page is mapped multiple times in that process. A page is accounted as "shared" if any page of the larger allocation is *maybe* mapped in a different process. In some cases, a large allocation might be treated as "maybe mapped by multiple processes" even though this is no longer the case.”h]”(hŒËIn some kernel configurations, the semantics of pages part of a larger allocation (e.g., THP) can differ: a page is accounted as “privateâ€� if all pages part of the corresponding large allocation are ”…”�”}”(hjÏ&h²hh³Nh´NubhŒemphasis”“”)�”}”(hŒ *certainly*”h]”hŒ certainly”…”�”}”(hjÙ&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j×&hjÏ&ubhŒ¤ mapped in the same process, even if the page is mapped multiple times in that process. A page is accounted as “sharedâ€� if any page of the larger allocation is ”…”�”}”(hjÏ&h²hh³Nh´NubjØ&)�”}”(hŒ*maybe*”h]”hŒmaybe”…”�”}”(hjë&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j×&hjÏ&ubhŒ¦ mapped in a different process. In some cases, a large allocation might be treated as “maybe mapped by multiple processesâ€� even though this is no longer the case.”…”�”}”(hjÏ&h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjþh²hubj)�”}”(hXWSome kernel configurations do not track the precise number of times a page part of a larger allocation is mapped. In this case, when calculating the PSS, the average number of mappings per page in this larger allocation might be used as an approximation for the number of mappings of a page. The PSS calculation will be imprecise in this case.”h]”hXWSome kernel configurations do not track the precise number of times a page part of a larger allocation is mapped. In this case, when calculating the PSS, the average number of mappings per page in this larger allocation might be used as an approximation for the number of mappings of a page. The PSS calculation will be imprecise in this case.”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjþh²hubj)�”}”(hŒW"Referenced" indicates the amount of memory currently marked as referenced or accessed.”h]”hŒ[“Referencedâ€� indicates the amount of memory currently marked as referenced or accessed.”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjþh²hubj)�”}”(hŒì"Anonymous" shows the amount of memory that does not belong to any file. Even a mapping associated with a file may contain anonymous pages: when MAP_PRIVATE and a page is modified, the file page is replaced by a private anonymous copy.”h]”hŒð“Anonymousâ€� shows the amount of memory that does not belong to any file. Even a mapping associated with a file may contain anonymous pages: when MAP_PRIVATE and a page is modified, the file page is replaced by a private anonymous copy.”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjþh²hubj)�”}”(hŒz"KSM" reports how many of the pages are KSM pages. Note that KSM-placed zeropages are not included, only actual KSM pages.”h]”hŒ~“KSMâ€� reports how many of the pages are KSM pages. Note that KSM-placed zeropages are not included, only actual KSM pages.”…”�”}”(hj-'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjþh²hubj)�”}”(hXg"LazyFree" shows the amount of memory which is marked by madvise(MADV_FREE). The memory isn't freed immediately with madvise(). It's freed in memory pressure if the memory is clean. Please note that the printed value might be lower than the real value due to optimizations used in the current implementation. If this is not desirable please file a bug report.”h]”hXo“LazyFreeâ€� shows the amount of memory which is marked by madvise(MADV_FREE). The memory isn’t freed immediately with madvise(). It’s freed in memory pressure if the memory is clean. Please note that the printed value might be lower than the real value due to optimizations used in the current implementation. If this is not desirable please file a bug report.”…”�”}”(hj;'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjþh²hubj)�”}”(hXy"AnonHugePages", "ShmemPmdMapped" and "FilePmdMapped" show the amount of memory backed by Transparent Huge Pages that are currently mapped by architectural huge-page mappings at the PMD level. "AnonHugePages" corresponds to memory that does not belong to a file, "ShmemPmdMapped" to shared memory (shmem/tmpfs) and "FilePmdMapped" to file-backed memory (excluding shmem/tmpfs).”h]”hX‘“AnonHugePagesâ€�, “ShmemPmdMappedâ€� and “FilePmdMappedâ€� show the amount of memory backed by Transparent Huge Pages that are currently mapped by architectural huge-page mappings at the PMD level. “AnonHugePagesâ€� corresponds to memory that does not belong to a file, “ShmemPmdMappedâ€� to shared memory (shmem/tmpfs) and “FilePmdMappedâ€� to file-backed memory (excluding shmem/tmpfs).”…”�”}”(hjI'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjþh²hubj)�”}”(hŒ™There are no dedicated entries for Transparent Huge Pages (or similar concepts) that are not mapped by architectural huge-page mappings at the PMD level.”h]”hŒ™There are no dedicated entries for Transparent Huge Pages (or similar concepts) that are not mapped by architectural huge-page mappings at the PMD level.”…”�”}”(hjW'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M&hjþh²hubj)�”}”(hŒå"Shared_Hugetlb" and "Private_Hugetlb" show the amounts of memory backed by 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.”h]”(hŒl“Shared_Hugetlbâ€� and “Private_Hugetlbâ€� show the amounts of memory backed by hugetlbfs page which is ”…”�”}”(hje'h²hh³Nh´NubjØ&)�”}”(hŒ*not*”h]”hŒnot”…”�”}”(hjm'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j×&hje'ubhŒ„ counted in “RSSâ€� or “PSSâ€� field for historical reasons. And these are not included in {Shared,Private}_{Clean,Dirty} field.”…”�”}”(hje'h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M)hjþh²hubj)�”}”(hŒN"Swap" shows how much would-be-anonymous memory is also used, but out on swap.”h]”hŒR“Swapâ€� shows how much would-be-anonymous memory is also used, but out on swap.”…”�”}”(hj…'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M-hjþh²hubj)�”}”(hXmFor 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.”h]”hX}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.”…”�”}”(hj“'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M/hjþh²hubj)�”}”(hŒ™"THPeligible" indicates whether the mapping is eligible for allocating naturally aligned THP pages of any currently enabled size. 1 if true, 0 otherwise.”h]”hŒ�“THPeligibleâ€� indicates whether the mapping is eligible for allocating naturally aligned THP pages of any currently enabled size. 1 if true, 0 otherwise.”…”�”}”(hj¡'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M5hjþh²hubj)�”}”(hŒœIf both the kernel and the CPU support protection keys (pkeys), "ProtectionKey" indicates the memory protection key associated with the virtual memory area.”h]”hŒ If both the kernel and the CPU support protection keys (pkeys), “ProtectionKeyâ€� indicates the memory protection key associated with the virtual memory area.”…”�”}”(hj¯'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M9hjþh²hubj)�”}”(hŒÆ"VmFlags" field deserves a separate description. This member represents the kernel flags associated with the particular virtual memory area in two letter encoded manner. The codes are the following:”h]”hŒÊ“VmFlagsâ€� field deserves a separate description. This member represents the kernel flags associated with the particular virtual memory area in two letter encoded manner. The codes are the following:”…”�”}”(hj½'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M=hjþh²hubjí$)�”}”(hXÿ== ============================================================= rd readable wr writeable ex executable sh shared mr may read mw may write me may execute ms may share gd stack segment growns down pf pure PFN range lo pages are locked in memory io memory mapped I/O area sr sequential read advise provided rr random read advise provided dc do not copy area on fork de do not expand area on remapping ac area is accountable nr swap space is not reserved for the area ht area uses huge tlb pages sf synchronous page fault ar architecture specific flag wf wipe on fork dd do not include area into core dump sd soft dirty flag mm mixed map area hg huge page advise flag nh no huge page advise flag mg mergeable advise flag bt arm64 BTI guarded page mt arm64 MTE allocation tags are enabled um userfaultfd missing tracking uw userfaultfd wr-protect tracking ui userfaultfd minor fault ur userfaultfd read-write-protect tracking ss shadow/guarded control stack page sl sealed lf lock on fault pages dp always lazily freeable mapping gu maybe contains guard regions (if not set, definitely doesn't) == ============================================================= ”h]”hÞ)�”}”(hhh]”hã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhjÒ'ubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K=uh1hçhjÒ'ubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒrd”h]”hŒrd”…”�”}”(hjò'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MBhjï'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjì'ubj)�”}”(hhh]”j)�”}”(hŒreadable”h]”hŒreadable”…”�”}”(hj (h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MBhj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjì'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒwr”h]”hŒwr”…”�”}”(hj)(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MChj&(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#(ubj)�”}”(hhh]”j)�”}”(hŒ writeable”h]”hŒ writeable”…”�”}”(hj@(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MChj=(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒex”h]”hŒex”…”�”}”(hj`(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MDhj](ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjZ(ubj)�”}”(hhh]”j)�”}”(hŒ executable”h]”hŒ executable”…”�”}”(hjw(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MDhjt(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjZ(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsh”h]”hŒsh”…”�”}”(hj—(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MEhj”(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘(ubj)�”}”(hhh]”j)�”}”(hŒshared”h]”hŒshared”…”�”}”(hj®(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MEhj«(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmr”h]”hŒmr”…”�”}”(hjÎ(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MFhjË(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÈ(ubj)�”}”(hhh]”j)�”}”(hŒmay read”h]”hŒmay read”…”�”}”(hjå(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MFhjâ(ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÈ(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmw”h]”hŒmw”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MGhj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÿ(ubj)�”}”(hhh]”j)�”}”(hŒ may write”h]”hŒ may write”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MGhj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÿ(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒme”h]”hŒme”…”�”}”(hj<)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MHhj9)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6)ubj)�”}”(hhh]”j)�”}”(hŒ may execute”h]”hŒ may execute”…”�”}”(hjS)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MHhjP)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒms”h]”hŒms”…”�”}”(hjs)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MIhjp)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjm)ubj)�”}”(hhh]”j)�”}”(hŒ may share”h]”hŒ may share”…”�”}”(hjŠ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MIhj‡)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjm)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒgd”h]”hŒgd”…”�”}”(hjª)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MJhj§)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤)ubj)�”}”(hhh]”j)�”}”(hŒstack segment growns down”h]”hŒstack segment growns down”…”�”}”(hjÁ)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MJhj¾)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpf”h]”hŒpf”…”�”}”(hjá)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MKhjÞ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛ)ubj)�”}”(hhh]”j)�”}”(hŒpure PFN range”h]”hŒpure PFN range”…”�”}”(hjø)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MKhjõ)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛ)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒlo”h]”hŒlo”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MLhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj*ubj)�”}”(hhh]”j)�”}”(hŒpages are locked in memory”h]”hŒpages are locked in memory”…”�”}”(hj/*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MLhj,*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒio”h]”hŒio”…”�”}”(hjO*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MMhjL*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjI*ubj)�”}”(hhh]”j)�”}”(hŒmemory mapped I/O area”h]”hŒmemory mapped I/O area”…”�”}”(hjf*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MMhjc*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjI*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsr”h]”hŒsr”…”�”}”(hj†*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MNhjƒ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€*ubj)�”}”(hhh]”j)�”}”(hŒsequential read advise provided”h]”hŒsequential read advise provided”…”�”}”(hj�*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MNhjš*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj€*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒrr”h]”hŒrr”…”�”}”(hj½*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MOhjº*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj·*ubj)�”}”(hhh]”j)�”}”(hŒrandom read advise provided”h]”hŒrandom read advise provided”…”�”}”(hjÔ*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MOhjÑ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj·*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdc”h]”hŒdc”…”�”}”(hjô*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MPhjñ*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjî*ubj)�”}”(hhh]”j)�”}”(hŒdo not copy area on fork”h]”hŒdo not copy area on fork”…”�”}”(hj +h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MPhj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjî*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒde”h]”hŒde”…”�”}”(hj++h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MQhj(+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%+ubj)�”}”(hhh]”j)�”}”(hŒdo not expand area on remapping”h]”hŒdo not expand area on remapping”…”�”}”(hjB+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MQhj?+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj%+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒac”h]”hŒac”…”�”}”(hjb+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MRhj_+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\+ubj)�”}”(hhh]”j)�”}”(hŒarea is accountable”h]”hŒarea is accountable”…”�”}”(hjy+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MRhjv+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒnr”h]”hŒnr”…”�”}”(hj™+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MShj–+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“+ubj)�”}”(hhh]”j)�”}”(hŒ'swap space is not reserved for the area”h]”hŒ'swap space is not reserved for the area”…”�”}”(hj°+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MShj­+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj“+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒht”h]”hŒht”…”�”}”(hjÐ+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MThjÍ+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊ+ubj)�”}”(hhh]”j)�”}”(hŒarea uses huge tlb pages”h]”hŒarea uses huge tlb pages”…”�”}”(hjç+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MThjä+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊ+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsf”h]”hŒsf”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MUhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj,ubj)�”}”(hhh]”j)�”}”(hŒsynchronous page fault”h]”hŒsynchronous page fault”…”�”}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MUhj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒar”h]”hŒar”…”�”}”(hj>,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MVhj;,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8,ubj)�”}”(hhh]”j)�”}”(hŒarchitecture specific flag”h]”hŒarchitecture specific flag”…”�”}”(hjU,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MVhjR,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj8,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒwf”h]”hŒwf”…”�”}”(hju,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MWhjr,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjo,ubj)�”}”(hhh]”j)�”}”(hŒ wipe on fork”h]”hŒ wipe on fork”…”�”}”(hjŒ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MWhj‰,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjo,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj •P)�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdd”h]”hŒdd”…”�”}”(hj¬,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MXhj©,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦,ubj)�”}”(hhh]”j)�”}”(hŒ"do not include area into core dump”h]”hŒ"do not include area into core dump”…”�”}”(hjÃ,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MXhjÀ,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsd”h]”hŒsd”…”�”}”(hjã,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MYhjà,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝ,ubj)�”}”(hhh]”j)�”}”(hŒsoft dirty flag”h]”hŒsoft dirty flag”…”�”}”(hjú,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MYhj÷,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝ,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmm”h]”hŒmm”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MZhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-ubj)�”}”(hhh]”j)�”}”(hŒmixed map area”h]”hŒmixed map area”…”�”}”(hj1-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MZhj.-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒhg”h]”hŒhg”…”�”}”(hjQ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M[hjN-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjK-ubj)�”}”(hhh]”j)�”}”(hŒhuge page advise flag”h]”hŒhuge page advise flag”…”�”}”(hjh-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M[hje-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjK-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒnh”h]”hŒnh”…”�”}”(hjˆ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M\hj…-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚-ubj)�”}”(hhh]”j)�”}”(hŒno huge page advise flag”h]”hŒno huge page advise flag”…”�”}”(hjŸ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M\hjœ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‚-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmg”h]”hŒmg”…”�”}”(hj¿-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M]hj¼-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹-ubj)�”}”(hhh]”j)�”}”(hŒmergeable advise flag”h]”hŒmergeable advise flag”…”�”}”(hjÖ-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M]hjÓ-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒbt”h]”hŒbt”…”�”}”(hjö-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M^hjó-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjð-ubj)�”}”(hhh]”j)�”}”(hŒarm64 BTI guarded page”h]”hŒarm64 BTI guarded page”…”�”}”(hj .h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M^hj .ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjð-ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmt”h]”hŒmt”…”�”}”(hj-.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M_hj*.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj'.ubj)�”}”(hhh]”j)�”}”(hŒ%arm64 MTE allocation tags are enabled”h]”hŒ%arm64 MTE allocation tags are enabled”…”�”}”(hjD.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M_hjA.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj'.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒum”h]”hŒum”…”�”}”(hjd.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M`hja.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^.ubj)�”}”(hhh]”j)�”}”(hŒuserfaultfd missing tracking”h]”hŒuserfaultfd missing tracking”…”�”}”(hj{.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M`hjx.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒuw”h]”hŒuw”…”�”}”(hj›.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mahj˜.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•.ubj)�”}”(hhh]”j)�”}”(hŒuserfaultfd wr-protect tracking”h]”hŒuserfaultfd wr-protect tracking”…”�”}”(hj².h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mahj¯.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj•.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒui”h]”hŒui”…”�”}”(hjÒ.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MbhjÏ.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌ.ubj)�”}”(hhh]”j)�”}”(hŒuserfaultfd minor fault”h]”hŒuserfaultfd minor fault”…”�”}”(hjé.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mbhjæ.ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌ.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒur”h]”hŒur”…”�”}”(hj /h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mchj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj/ubj)�”}”(hhh]”j)�”}”(hŒ'userfaultfd read-write-protect tracking”h]”hŒ'userfaultfd read-write-protect tracking”…”�”}”(hj /h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mchj/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒss”h]”hŒss”…”�”}”(hj@/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mdhj=/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:/ubj)�”}”(hhh]”j)�”}”(hŒ!shadow/guarded control stack page”h]”hŒ!shadow/guarded control stack page”…”�”}”(hjW/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MdhjT/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj:/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsl”h]”hŒsl”…”�”}”(hjw/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mehjt/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjq/ubj)�”}”(hhh]”j)�”}”(hŒsealed”h]”hŒsealed”…”�”}”(hjŽ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mehj‹/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjq/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒlf”h]”hŒlf”…”�”}”(hj®/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mfhj«/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨/ubj)�”}”(hhh]”j)�”}”(hŒlock on fault pages”h]”hŒlock on fault pages”…”�”}”(hjÅ/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MfhjÂ/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdp”h]”hŒdp”…”�”}”(hjå/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mghjâ/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjß/ubj)�”}”(hhh]”j)�”}”(hŒalways lazily freeable mapping”h]”hŒalways lazily freeable mapping”…”�”}”(hjü/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mghjù/ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjß/ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒgu”h]”hŒgu”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0ubj)�”}”(hhh]”j)�”}”(hŒ=maybe contains guard regions (if not set, definitely doesn't)”h]”hŒ?maybe contains guard regions (if not set, definitely doesn’t)”…”�”}”(hj30h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhhj00ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj0ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjé'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÒ'ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhjÏ'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjË'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´MAhjþh²hubj)�”}”(hXeNote that there is no guarantee that every flag and associated mnemonic will be present in all further kernel releases. Things get changed, the flags may be vanished or the reverse -- new added. Interpretation of their meaning might change in future as well. So each consumer of these flags has to follow each specific kernel version for the exact semantic.”h]”hXeNote that there is no guarantee that every flag and associated mnemonic will be present in all further kernel releases. Things get changed, the flags may be vanished or the reverse -- new added. Interpretation of their meaning might change in future as well. So each consumer of these flags has to follow each specific kernel version for the exact semantic.”…”�”}”(hjf0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mkhjþh²hubj)�”}”(hŒSThis file is only present if the CONFIG_MMU kernel configuration option is enabled.”h]”hŒSThis file is only present if the CONFIG_MMU kernel configuration option is enabled.”…”�”}”(hjt0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mqhjþh²hubj)�”}”(hŒ„Note: reading /proc/PID/maps or /proc/PID/smaps is inherently racy (consistent output can be achieved only in the single read call).”h]”hŒ„Note: reading /proc/PID/maps or /proc/PID/smaps is inherently racy (consistent output can be achieved only in the single read call).”…”�”}”(hj‚0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mthjþh²hubj)�”}”(hŒ¤This typically manifests when doing partial reads of these files while the memory map is being modified. Despite the races, we do provide the following guarantees:”h]”hŒ¤This typically manifests when doing partial reads of these files while the memory map is being modified. Despite the races, we do provide the following guarantees:”…”�”}”(hj�0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mwhjþh²hubhŒenumerated_list”“”)�”}”(hhh]”(j})�”}”(hŒXThe mapped addresses never go backwards, which implies no two regions will ever overlap.”h]”j)�”}”(hŒXThe mapped addresses never go backwards, which implies no two regions will ever overlap.”h]”hŒXThe mapped addresses never go backwards, which implies no two regions will ever overlap.”…”�”}”(hj§0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M{hj£0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj 0h²hh³hÇh´Nubj})�”}”(hŒ�If there is something at a given vaddr during the entirety of the life of the smaps/maps walk, there will be some output for it. ”h]”j)�”}”(hŒ€If there is something at a given vaddr during the entirety of the life of the smaps/maps walk, there will be some output for it.”h]”hŒ€If there is something at a given vaddr during the entirety of the life of the smaps/maps walk, there will be some output for it.”…”�”}”(hj¿0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M}hj»0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj 0h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œarabic”Œprefix”hŒsuffix”Œ)”uh1jž0hjþh²hh³hÇh´M{ubj)�”}”(hŒÐThe /proc/PID/smaps_rollup file includes the same fields as /proc/PID/smaps, but their values are the sums of the corresponding values for all mappings of the process. Additionally, it contains these fields:”h]”hŒÐThe /proc/PID/smaps_rollup file includes the same fields as /proc/PID/smaps, but their values are the sums of the corresponding values for all mappings of the process. Additionally, it contains these fields:”…”�”}”(hjÞ0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M€hjþh²hubjx)�”}”(hhh]”(j})�”}”(hŒPss_Anon”h]”j)�”}”(hjñ0h]”hŒPss_Anon”…”�”}”(hjó0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M„hjï0ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjì0h²hh³hÇh´Nubj})�”}”(hŒPss_File”h]”j)�”}”(hj1h]”hŒPss_File”…”�”}”(hj 1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M…hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjì0h²hh³hÇh´Nubj})�”}”(hŒ Pss_Shmem ”h]”j)�”}”(hŒ Pss_Shmem”h]”hŒ Pss_Shmem”…”�”}”(hj!1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M†hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjì0h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jËŒ-”uh1jwh³hÇh´M„hjþh²hubj)�”}”(hXHThey represent the proportional shares of anonymous, file, and shmem pages, as described for smaps above. These fields are omitted in smaps since each mapping identifies the type (anon, file, or shmem) of all pages it contains. Thus all information in smaps_rollup can be derived from smaps, but at a significantly higher cost.”h]”hXHThey represent the proportional shares of anonymous, file, and shmem pages, as described for smaps above. These fields are omitted in smaps since each mapping identifies the type (anon, file, or shmem) of all pages it contains. Thus all information in smaps_rollup can be derived from smaps, but at a significantly higher cost.”…”�”}”(hj<1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mˆhjþh²hubj)�”}”(hX0The /proc/PID/clear_refs is used to reset the PG_Referenced and ACCESSED/YOUNG bits on both physical and virtual pages associated with a process, and the soft-dirty bit on pte (see Documentation/admin-guide/mm/soft-dirty.rst for details). To clear the bits for all the pages associated with the process::”h]”hX/The /proc/PID/clear_refs is used to reset the PG_Referenced and ACCESSED/YOUNG bits on both physical and virtual pages associated with a process, and the soft-dirty bit on pte (see Documentation/admin-guide/mm/soft-dirty.rst for details). To clear the bits for all the pages associated with the process:”…”�”}”(hjJ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŽhjþh²hubj6 )�”}”(hŒ> echo 1 > /proc/PID/clear_refs”h]”hŒ> echo 1 > /proc/PID/clear_refs”…”�”}”hjX1sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M”hjþh²hubj)�”}”(hŒGTo clear the bits for the anonymous pages associated with the process::”h]”hŒFTo clear the bits for the anonymous pages associated with the process:”…”�”}”(hjf1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M–hjþh²hubj6 )�”}”(hŒ> echo 2 > /proc/PID/clear_refs”h]”hŒ> echo 2 > /proc/PID/clear_refs”…”�”}”hjt1sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M˜hjþh²hubj)�”}”(hŒITo clear the bits for the file mapped pages associated with the process::”h]”hŒHTo clear the bits for the file mapped pages associated with the process:”…”�”}”(hj‚1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mšhjþh²hubj6 )�”}”(hŒ> echo 3 > /proc/PID/clear_refs”h]”hŒ> echo 3 > /proc/PID/clear_refs”…”�”}”hj�1sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´Mœhjþh²hubj)�”}”(hŒTo clear the soft-dirty bit::”h]”hŒTo clear the soft-dirty bit:”…”�”}”(hjž1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mžhjþh²hubj6 )�”}”(hŒ> echo 4 > /proc/PID/clear_refs”h]”hŒ> echo 4 > /proc/PID/clear_refs”…”�”}”hj¬1sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M hjþh²hubj)�”}”(hŒXTo reset the peak resident set size ("high water mark") to the process's current value::”h]”hŒ]To reset the peak resident set size (“high water markâ€�) to the process’s current value:”…”�”}”(hjº1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¢hjþh²hubj6 )�”}”(hŒ> echo 5 > /proc/PID/clear_refs”h]”hŒ> echo 5 > /proc/PID/clear_refs”…”�”}”hjÈ1sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M¥hjþh²hubj)�”}”(hŒDAny other value written to /proc/PID/clear_refs will have no effect.”h]”hŒDAny other value written to /proc/PID/clear_refs will have no effect.”…”�”}”(hjÖ1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M§hjþh²hubj)�”}”(hŒèThe /proc/pid/pagemap gives the PFN, which can be used to find the pageflags using /proc/kpageflags and number of times a page is mapped using /proc/kpagecount. For detailed explanation, see Documentation/admin-guide/mm/pagemap.rst.”h]”hŒèThe /proc/pid/pagemap gives the PFN, which can be used to find the pageflags using /proc/kpageflags and number of times a page is mapped using /proc/kpagecount. For detailed explanation, see Documentation/admin-guide/mm/pagemap.rst.”…”�”}”(hjä1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M©hjþh²hubj)�”}”(hX#The /proc/pid/numa_maps is an extension based on maps, showing the memory locality and binding policy, as well as the memory usage (in pages) of each mapping. The output follows a general format where mapping details get summarized separated by blank spaces, one mapping per each file line::”h]”hX"The /proc/pid/numa_maps is an extension based on maps, showing the memory locality and binding policy, as well as the memory usage (in pages) of each mapping. The output follows a general format where mapping details get summarized separated by blank spaces, one mapping per each file line:”…”�”}”(hjò1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M®hjþh²hubj6 )�”}”(hXüaddress policy mapping details 00400000 default file=/usr/local/bin/app mapped=1 active=0 N3=1 kernelpagesize_kB=4 00600000 default file=/usr/local/bin/app anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206000000 default file=/lib64/ld-2.12.so mapped=26 mapmax=6 N0=24 N3=2 kernelpagesize_kB=4 320621f000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206220000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206221000 default anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206800000 default file=/lib64/libc-2.12.so mapped=59 mapmax=21 active=55 N0=41 N3=18 kernelpagesize_kB=4 320698b000 default file=/lib64/libc-2.12.so 3206b8a000 default file=/lib64/libc-2.12.so anon=2 dirty=2 N3=2 kernelpagesize_kB=4 3206b8e000 default file=/lib64/libc-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206b8f000 default anon=3 dirty=3 active=1 N3=3 kernelpagesize_kB=4 7f4dc10a2000 default anon=3 dirty=3 N3=3 kernelpagesize_kB=4 7f4dc10b4000 default anon=2 dirty=2 active=1 N3=2 kernelpagesize_kB=4 7f4dc1200000 default file=/anon_hugepage\040(deleted) huge anon=1 dirty=1 N3=1 kernelpagesize_kB=2048 7fff335f0000 default stack anon=3 dirty=3 N3=3 kernelpagesize_kB=4 7fff3369d000 default mapped=1 mapmax=35 active=0 N3=1 kernelpagesize_kB=4”h]”hXüaddress policy mapping details 00400000 default file=/usr/local/bin/app mapped=1 active=0 N3=1 kernelpagesize_kB=4 00600000 default file=/usr/local/bin/app anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206000000 default file=/lib64/ld-2.12.so mapped=26 mapmax=6 N0=24 N3=2 kernelpagesize_kB=4 320621f000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206220000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206221000 default anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206800000 default file=/lib64/libc-2.12.so mapped=59 mapmax=21 active=55 N0=41 N3=18 kernelpagesize_kB=4 320698b000 default file=/lib64/libc-2.12.so 3206b8a000 default file=/lib64/libc-2.12.so anon=2 dirty=2 N3=2 kernelpagesize_kB=4 3206b8e000 default file=/lib64/libc-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4 3206b8f000 default anon=3 dirty=3 active=1 N3=3 kernelpagesize_kB=4 7f4dc10a2000 default anon=3 dirty=3 N3=3 kernelpagesize_kB=4 7f4dc10b4000 default anon=2 dirty=2 active=1 N3=2 kernelpagesize_kB=4 7f4dc1200000 default file=/anon_hugepage\040(deleted) huge anon=1 dirty=1 N3=1 kernelpagesize_kB=2048 7fff335f0000 default stack anon=3 dirty=3 N3=3 kernelpagesize_kB=4 7fff3369d000 default mapped=1 mapmax=35 active=0 N3=1 kernelpagesize_kB=4”…”�”}”hj2sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M³hjþh²hubj)�”}”(hŒWhere:”h]”hŒWhere:”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÆhjþh²hubj)�”}”(hŒ2"address" is the starting address for the mapping;”h]”hŒ6“addressâ€� is the starting address for the mapping;”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÈhjþh²hubj)�”}”(hŒv"policy" reports the NUMA memory policy set for the mapping (see Documentation/admin-guide/mm/numa_memory_policy.rst);”h]”hŒz“policyâ€� reports the NUMA memory policy set for the mapping (see Documentation/admin-guide/mm/numa_memory_policy.rst);”…”�”}”(hj*2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÊhjþh²hubj)�”}”(hŒÑ"mapping details" summarizes mapping data such as mapping type, page usage counters, node locality page counters (N0 == node0, N1 == node1, ...) and the kernel page size, in KB, that is backing the mapping up.”h]”hŒÕ“mapping detailsâ€� summarizes mapping data such as mapping type, page usage counters, node locality page counters (N0 == node0, N1 == node1, ...) and the kernel page size, in KB, that is backing the mapping up.”…”�”}”(hj82h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÌhjþh²hubj)�”}”(hX Note that some kernel configurations do not track the precise number of times a page part of a larger allocation (e.g., THP) is mapped. In these configurations, "mapmax" might corresponds to the average number of mappings per page in such a larger allocation instead.”h]”hXNote that some kernel configurations do not track the precise number of times a page part of a larger allocation (e.g., THP) is mapped. In these configurations, “mapmaxâ€� might corresponds to the average number of mappings per page in such a larger allocation instead.”…”�”}”(hjF2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÐhjþh²hubeh}”(h]”Œprocess-specific-subdirectories”ah ]”h"]”Œ#1.1 process-specific subdirectories”ah$]”h&]”uh1hÈhjUh²hh³hÇh´KgubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ1.2 Kernel data”h]”hŒ1.2 Kernel data”…”�”}”(hj_2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj\2h²hh³hÇh´MÖubj)�”}”(hXcSimilar to the process entries, the kernel data files give information about the running kernel. The files used to obtain this information are contained in /proc and are listed in Table 1-5. Not all of these will be present in your system. It depends on the kernel configuration and the loaded modules, which files are there, and which are missing.”h]”hXcSimilar to the process entries, the kernel data files give information about the running kernel. The files used to obtain this information are contained in /proc and are listed in Table 1-5. Not all of these will be present in your system. It depends on the kernel configuration and the loaded modules, which files are there, and which are missing.”…”�”}”(hjm2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MØhj\2h²hubhÞ)�”}”(hhh]”(hÎ)�”}”(hŒTable 1-5: Kernel info in /proc”h]”hŒTable 1-5: Kernel info in /proc”…”�”}”(hj~2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍh³hÇh´MÞhj{2ubhã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1hçhjŒ2ubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”KEuh1hçhjŒ2ubjº)�”}”(hhh]”j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒFile”h]”hŒFile”…”�”}”(hj¬2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Máhj©2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦2ubj)�”}”(hhh]”j)�”}”(hŒContent”h]”hŒContent”…”�”}”(hjÃ2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MáhjÀ2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¦2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj£2ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjŒ2ubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ allocinfo”h]”hŒ allocinfo”…”�”}”(hjì2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mãhjé2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjæ2ubj)�”}”(hhh]”j)�”}”(hŒ(Memory allocations profiling information”h]”hŒ(Memory allocations profiling information”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mãhj3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjæ2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒapm”h]”hŒapm”…”�”}”(hj#3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mähj 3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj3ubj)�”}”(hhh]”j)�”}”(hŒAdvanced power management info”h]”hŒAdvanced power management info”…”�”}”(hj:3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mähj73ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ bootconfig”h]”hŒ bootconfig”…”�”}”(hjZ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MåhjW3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjT3ubj)�”}”(hhh]”j)�”}”(hŒìKernel command line obtained from boot config, and, if there were kernel parameters from the boot loader, a "# Parameters from bootloader:" line followed by a line containing those parameters prefixed by "# ". (5.5)”h]”hŒôKernel command line obtained from boot config, and, if there were kernel parameters from the boot loader, a “# Parameters from bootloader:â€� line followed by a line containing those parameters prefixed by “# “. (5.5)”…”�”}”(hjq3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Måhjn3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjT3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ buddyinfo”h]”hŒ buddyinfo”…”�”}”(hj‘3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MêhjŽ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‹3ubj)�”}”(hhh]”j)�”}”(hŒ7Kernel memory allocator information (see text) (2.5)”h]”hŒ7Kernel memory allocator information (see text) (2.5)”…”�”}”(hj¨3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mêhj¥3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‹3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒbus”h]”hŒbus”…”�”}”(hjÈ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MëhjÅ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÂ3ubj)�”}”(hhh]”j)�”}”(hŒ-Directory containing bus specific information”h]”hŒ-Directory containing bus specific information”…”�”}”(hjß3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MëhjÜ3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÂ3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcmdline”h]”hŒcmdline”…”�”}”(hjÿ3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mìhjü3ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjù3ubj)�”}”(hhh]”j)�”}”(hŒJKernel command line, both from bootloader and embedded in the kernel image”h]”hŒJKernel command line, both from bootloader and embedded in the kernel image”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mìhj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjù3ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒcpuinfo”h]”hŒcpuinfo”…”�”}”(hj64h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mîhj34ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj04ubj)�”}”(hhh]”j)�”}”(hŒInfo about the CPU”h]”hŒInfo about the CPU”…”�”}”(hjM4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MîhjJ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj04ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdevices”h]”hŒdevices”…”�”}”(hjm4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mïhjj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjg4ubj)�”}”(hhh]”j)�”}”(hŒ'Available devices (block and character)”h]”hŒ'Available devices (block and character)”…”�”}”(hj„4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mïhj�4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjg4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdma”h]”hŒdma”…”�”}”(hj¤4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mðhj¡4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjž4ubj)�”}”(hhh]”j)�”}”(hŒUsed DMA channels”h]”hŒUsed DMA channels”…”�”}”(hj»4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mðhj¸4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjž4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ filesystems”h]”hŒ filesystems”…”�”}”(hjÛ4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MñhjØ4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÕ4ubj)�”}”(hhh]”j)�”}”(hŒSupported filesystems”h]”hŒSupported filesystems”…”�”}”(hjò4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mñhjï4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÕ4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdriver”h]”hŒdriver”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mòhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj 5ubj)�”}”(hhh]”j)�”}”(hŒ7Various drivers grouped here, currently rtc (2.4)”h]”hŒ7Various drivers grouped here, currently rtc (2.4)”…”�”}”(hj)5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mòhj&5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj 5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ execdomains”h]”hŒ execdomains”…”�”}”(hjI5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MóhjF5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjC5ubj)�”}”(hhh]”j)�”}”(hŒ7Execdomains, related to security (2.4)”h]”hŒ7Execdomains, related to security (2.4)”…”�”}”(hj`5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Móhj]5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjC5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒfb”h]”hŒfb”…”�”}”(hj€5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Môhj}5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjz5ubj)�”}”(hhh]”j)�”}”(hŒ7Frame Buffer devices (2.4)”h]”hŒ7Frame Buffer devices (2.4)”…”�”}”(hj—5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Môhj”5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjz5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒfs”h]”hŒfs”…”�”}”(hj·5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mõhj´5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±5ubj)�”}”(hhh]”j)�”}”(hŒ7File system parameters, currently nfs/exports (2.4)”h]”hŒ7File system parameters, currently nfs/exports (2.4)”…”�”}”(hjÎ5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MõhjË5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒide”h]”hŒide”…”�”}”(hjî5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Möhjë5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjè5ubj)�”}”(hhh]”j)�”}”(hŒ1Directory containing info about the IDE subsystem”h]”hŒ1Directory containing info about the IDE subsystem”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Möhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjè5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ interrupts”h]”hŒ interrupts”…”�”}”(hj%6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M÷hj"6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6ubj)�”}”(hhh]”j)�”}”(hŒInterrupt usage”h]”hŒInterrupt usage”…”�”}”(hj<6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M÷hj96ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒiomem”h]”hŒiomem”…”�”}”(hj\6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MøhjY6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjV6ubj)�”}”(hhh]”j)�”}”(hŒ7Memory map (2.4)”h]”hŒ7Memory map (2.4)”…”�”}”(hjs6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Møhjp6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjV6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒioports”h]”hŒioports”…”�”}”(hj“6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mùhj�6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�6ubj)�”}”(hhh]”j)�”}”(hŒI/O port usage”h]”hŒI/O port usage”…”�”}”(hjª6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mùhj§6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒirq”h]”hŒirq”…”�”}”(hjÊ6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MúhjÇ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÄ6ubj)�”}”(hhh]”j)�”}”(hŒ=Masks for irq to cpu affinity (2.4)(smp?)”h]”hŒ=Masks for irq to cpu affinity (2.4)(smp?)”…”�”}”(hjá6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MúhjÞ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÄ6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒisapnp”h]”hŒisapnp”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mûhjþ6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjû6ubj)�”}”(hhh]”j)�”}”(hŒ7ISA PnP (Plug&Play) Info (2.4)”h]”hŒ7ISA PnP (Plug&Play) Info (2.4)”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mûhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjû6ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒkcore”h]”hŒkcore”…”�”}”(hj87h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mühj57ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj27ubj)�”}”(hhh]”j)�”}”(hŒ:Kernel core image (can be ELF or A.OUT(deprecated in 2.4))”h]”hŒ:Kernel core image (can be ELF or A.OUT(deprecated in 2.4))”…”�”}”(hjO7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MühjL7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj27ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒkmsg”h]”hŒkmsg”…”�”}”(hjo7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mýhjl7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhji7ubj)�”}”(hhh]”j)�”}”(hŒKernel messages”h]”hŒKernel messages”…”�”}”(hj†7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mýhjƒ7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhji7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒksyms”h]”hŒksyms”…”�”}”(hj¦7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mþhj£7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj 7ubj)�”}”(hhh]”j)�”}”(hŒKernel symbol table”h]”hŒKernel symbol table”…”�”}”(hj½7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mþhjº7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj 7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒloadavg”h]”hŒloadavg”…”�”}”(hjÝ7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÿhjÚ7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj×7ubj)�”}”(hhh]”hŒdefinition_list”“”)�”}”(hhh]”hŒdefinition_list_item”“”)�”}”(hXmLoad average of last 1, 5 & 15 minutes; number of processes currently runnable (running or on ready queue); total number of processes in system; last pid created. All fields are separated by one space except "number of processes currently runnable" and "total number of processes in system", which are separated by a slash ('/'). Example: 0.61 0.61 0.55 3/828 22084”h]”(hŒterm”“”)�”}”(hŒ'Load average of last 1, 5 & 15 minutes;”h]”hŒ'Load average of last 1, 5 & 15 minutes;”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´Mhjû7ubhŒ definition”“”)�”}”(hhh]”j)�”}”(hXEnumber of processes currently runnable (running or on ready queue); total number of processes in system; last pid created. All fields are separated by one space except "number of processes currently runnable" and "total number of processes in system", which are separated by a slash ('/'). Example: 0.61 0.61 0.55 3/828 22084”h]”hXQnumber of processes currently runnable (running or on ready queue); total number of processes in system; last pid created. All fields are separated by one space except “number of processes currently runnableâ€� and “total number of processes in systemâ€�, which are separated by a slash (‘/’). Example: 0.61 0.61 0.55 3/828 22084”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjû7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´Mhjö7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jô7hjñ7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj×7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒlocks”h]”hŒlocks”…”�”}”(hjF8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjC8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj@8ubj)�”}”(hhh]”j)�”}”(hŒ Kernel locks”h]”hŒ Kernel locks”…”�”}”(hj]8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjZ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj@8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmeminfo”h]”hŒmeminfo”…”�”}”(hj}8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjz8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjw8ubj)�”}”(hhh]”j)�”}”(hŒ Memory info”h]”hŒ Memory info”…”�”}”(hj”8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj‘8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjw8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmisc”h]”hŒmisc”…”�”}”(hj´8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj±8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj®8ubj)�”}”(hhh]”j)�”}”(hŒ Miscellaneous”h]”hŒ Miscellaneous”…”�”}”(hjË8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjÈ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj®8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmodules”h]”hŒmodules”…”�”}”(hjë8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjè8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjå8ubj)�”}”(hhh]”j)�”}”(hŒList of loaded modules”h]”hŒList of loaded modules”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjÿ8ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjå8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmounts”h]”hŒmounts”…”�”}”(hj"9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj9ubj)�”}”(hhh]”j)�”}”(hŒMounted filesystems”h]”hŒMounted filesystems”…”�”}”(hj99h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj69ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒnet”h]”hŒnet”…”�”}”(hjY9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjV9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjS9ubj)�”}”(hhh]”j)�”}”(hŒNetworking info (see text)”h]”hŒNetworking info (see text)”…”�”}”(hjp9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjm9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjS9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ pagetypeinfo”h]”hŒ pagetypeinfo”…”�”}”(hj�9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj�9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠ9ubj)�”}”(hhh]”j)�”}”(hŒ7Additional page allocator information (see text) (2.5)”h]”hŒ7Additional page allocator information (see text) (2.5)”…”�”}”(hj§9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj¤9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠ9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ partitions”h]”hŒ partitions”…”�”}”(hjÇ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjÄ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÁ9ubj)�”}”(hhh]”j)�”}”(hŒ'Table of partitions known to the system”h]”hŒ'Table of partitions known to the system”…”�”}”(hjÞ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjÛ9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÁ9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpci”h]”hŒpci”…”�”}”(hjþ9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjû9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjø9ubj)�”}”(hhh]”j)�”}”(hŒnDeprecated info of PCI bus (new way -> /proc/bus/pci/, decoupled by lspci (2.4)”h]”hŒnDeprecated info of PCI bus (new way -> /proc/bus/pci/, decoupled by lspci (2.4)”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjø9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒrtc”h]”hŒrtc”…”�”}”(hj5:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj2:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj/:ubj)�”}”(hhh]”j)�”}”(hŒReal time clock”h]”hŒReal time clock”…”�”}”(hjL:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjI:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj/:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒscsi”h]”hŒscsi”…”�”}”(hjl:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhji:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjf:ubj)�”}”(hhh]”j)�”}”(hŒSCSI info (see text)”h]”hŒSCSI info (see text)”…”�”}”(hjƒ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj€:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjf:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒslabinfo”h]”hŒslabinfo”…”�”}”(hj£:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj :ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�:ubj)�”}”(hhh]”j)�”}”(hŒSlab pool info”h]”hŒSlab pool info”…”�”}”(hjº:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj·:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsoftirqs”h]”hŒsoftirqs”…”�”}”(hjÚ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj×:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔ:ubj)�”}”(hhh]”j)�”}”(hŒ softirq usage”h]”hŒ softirq usage”…”�”}”(hjñ:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjî:ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔ:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒstat”h]”hŒstat”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ;ubj)�”}”(hhh]”j)�”}”(hŒOverall statistics”h]”hŒOverall statistics”…”�”}”(hj(;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj%;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒswaps”h]”hŒswaps”…”�”}”(hjH;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjE;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjB;ubj)�”}”(hhh]”j)�”}”(hŒSwap space utilization”h]”hŒSwap space utilization”…”�”}”(hj_;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj\;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjB;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsys”h]”hŒsys”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj|;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjy;ubj)�”}”(hhh]”j)�”}”(hŒ See chapter 2”h]”hŒ See chapter 2”…”�”}”(hj–;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj“;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjy;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsysvipc”h]”hŒsysvipc”…”�”}”(hj¶;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj³;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj°;ubj)�”}”(hhh]”j)�”}”(hŒ7Info of SysVIPC Resources (msg, sem, shm) (2.4)”h]”hŒ7Info of SysVIPC Resources (msg, sem, shm) (2.4)”…”�”}”(hjÍ;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjÊ;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj°;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjí;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjê;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjç;ubj)�”}”(hhh]”j)�”}”(hŒInfo of tty drivers”h]”hŒInfo of tty drivers”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjç;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒuptime”h]”hŒuptime”…”�”}”(hj$<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj!<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj<ubj)�”}”(hhh]”j)�”}”(hŒ5Wall clock since boot, combined idle time of all cpus”h]”hŒ5Wall clock since boot, combined idle time of all cpus”…”�”}”(hj;<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj8<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒversion”h]”hŒversion”…”�”}”(hj[<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjX<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjU<ubj)�”}”(hhh]”j)�”}”(hŒKernel version”h]”hŒKernel version”…”�”}”(hjr<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjo<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjU<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒvideo”h]”hŒvideo”…”�”}”(hj’<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj�<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŒ<ubj)�”}”(hhh]”j)�”}”(hŒ7bttv info of video resources (2.4)”h]”hŒ7bttv info of video resources (2.4)”…”�”}”(hj©<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj¦<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŒ<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ vmallocinfo”h]”hŒ vmallocinfo”…”�”}”(hjÉ<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjÆ<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÃ<ubj)�”}”(hhh]”j)�”}”(hŒShow vmalloced areas”h]”hŒShow vmalloced areas”…”�”}”(hjà<h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjÝ<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÃ<ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjã2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjŒ2ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj{2ubeh}”(h]”Œid13”ah ]”h"]”h$]”h&]”uh1hÝhj\2h²hh³hÇh´Nubj)�”}”(hŒŠYou can, for example, check which interrupts are currently in use and what they are used for by looking in the file /proc/interrupts::”h]”hŒ‰You can, for example, check which interrupts are currently in use and what they are used for by looking in the file /proc/interrupts:”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj\2h²hubj6 )�”}”(hX> cat /proc/interrupts CPU0 0: 8728810 XT-PIC timer 1: 895 XT-PIC keyboard 2: 0 XT-PIC cascade 3: 531695 XT-PIC aha152x 4: 2014133 XT-PIC serial 5: 44401 XT-PIC pcnet_cs 8: 2 XT-PIC rtc 11: 8 XT-PIC i82365 12: 182918 XT-PIC PS/2 Mouse 13: 1 XT-PIC fpu 14: 1232265 XT-PIC ide0 15: 7 XT-PIC ide1 NMI: 0”h]”hX> cat /proc/interrupts CPU0 0: 8728810 XT-PIC timer 1: 895 XT-PIC keyboard 2: 0 XT-PIC cascade 3: 531695 XT-PIC aha152x 4: 2014133 XT-PIC serial 5: 44401 XT-PIC pcnet_cs 8: 2 XT-PIC rtc 11: 8 XT-PIC i82365 12: 182918 XT-PIC PS/2 Mouse 13: 1 XT-PIC fpu 14: 1232265 XT-PIC ide0 15: 7 XT-PIC ide1 NMI: 0”…”�”}”hj=sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M#hj\2h²hubj)�”}”(hŒjIn 2.4.* a couple of lines where added to this file LOC & ERR (this time is the output of a SMP machine)::”h]”hŒiIn 2.4.* a couple of lines where added to this file LOC & ERR (this time is the output of a SMP machine):”…”�”}”(hj*=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M3hj\2h²hubj6 )�”}”(hXÙ> cat /proc/interrupts CPU0 CPU1 0: 1243498 1214548 IO-APIC-edge timer 1: 8949 8958 IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 5: 11286 10161 IO-APIC-edge soundblaster 8: 1 0 IO-APIC-edge rtc 9: 27422 27407 IO-APIC-edge 3c503 12: 113645 113873 IO-APIC-edge PS/2 Mouse 13: 0 0 XT-PIC fpu 14: 22491 24012 IO-APIC-edge ide0 15: 2183 2415 IO-APIC-edge ide1 17: 30564 30414 IO-APIC-level eth0 18: 177 164 IO-APIC-level bttv NMI: 2457961 2457959 LOC: 2457882 2457881 ERR: 2155”h]”hXÙ> cat /proc/interrupts CPU0 CPU1 0: 1243498 1214548 IO-APIC-edge timer 1: 8949 8958 IO-APIC-edge keyboard 2: 0 0 XT-PIC cascade 5: 11286 10161 IO-APIC-edge soundblaster 8: 1 0 IO-APIC-edge rtc 9: 27422 27407 IO-APIC-edge 3c503 12: 113645 113873 IO-APIC-edge PS/2 Mouse 13: 0 0 XT-PIC fpu 14: 22491 24012 IO-APIC-edge ide0 15: 2183 2415 IO-APIC-edge ide1 17: 30564 30414 IO-APIC-level eth0 18: 177 164 IO-APIC-level bttv NMI: 2457961 2457959 LOC: 2457882 2457881 ERR: 2155”…”�”}”hj8=sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M6hj\2h²hubj)�”}”(hŒ›NMI is incremented in this case because every timer interrupt generates a NMI (Non Maskable Interrupt) which is used by the NMI Watchdog to detect lockups.”h]”hŒ›NMI is incremented in this case because every timer interrupt generates a NMI (Non Maskable Interrupt) which is used by the NMI Watchdog to detect lockups.”…”�”}”(hjF=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MIhj\2h²hubj)�”}”(hŒELOC is the local interrupt counter of the internal APIC of every CPU.”h]”hŒELOC is the local interrupt counter of the internal APIC of every CPU.”…”�”}”(hjT=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MLhj\2h²hubj)�”}”(hXERR is incremented in the case of errors in the IO-APIC bus (the bus that connects the CPUs in a SMP system. This means that an error has been detected, the IO-APIC automatically retry the transmission, so it should not be a big problem, but you should read the SMP-FAQ.”h]”hXERR is incremented in the case of errors in the IO-APIC bus (the bus that connects the CPUs in a SMP system. This means that an error has been detected, the IO-APIC automatically retry the transmission, so it should not be a big problem, but you should read the SMP-FAQ.”…”�”}”(hjb=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MNhj\2h²hubj)�”}”(hŒÏIn 2.6.2* /proc/interrupts was expanded again. This time the goal was for /proc/interrupts to display every IRQ vector in use by the system, not just those considered 'most important'. The new vectors are:”h]”hŒÓIn 2.6.2* /proc/interrupts was expanded again. This time the goal was for /proc/interrupts to display every IRQ vector in use by the system, not just those considered ‘most important’. The new vectors are:”…”�”}”(hjp=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MShj\2h²hubjõ7)�”}”(hhh]”(jú7)�”}”(hŒ¼THR interrupt raised when a machine check threshold counter (typically counting ECC corrected errors of memory or cache) exceeds a configurable threshold. Only available on some systems. ”h]”(j8)�”}”(hŒTHR”h]”hŒTHR”…”�”}”(hj…=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´MZhj�=ubj8)�”}”(hhh]”j)�”}”(hŒ·interrupt raised when a machine check threshold counter (typically counting ECC corrected errors of memory or cache) exceeds a configurable threshold. Only available on some systems.”h]”hŒ·interrupt raised when a machine check threshold counter (typically counting ECC corrected errors of memory or cache) exceeds a configurable threshold. Only available on some systems.”…”�”}”(hj–=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MXhj“=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj�=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MZhj~=ubjú7)�”}”(hŒ²TRM a thermal event interrupt occurs when a temperature threshold has been exceeded for the CPU. This interrupt may also be generated when the temperature drops back to normal. ”h]”(j8)�”}”(hŒTRM”h]”hŒTRM”…”�”}”(hj´=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´M_hj°=ubj8)�”}”(hhh]”j)�”}”(hŒ­a thermal event interrupt occurs when a temperature threshold has been exceeded for the CPU. This interrupt may also be generated when the temperature drops back to normal.”h]”hŒ­a thermal event interrupt occurs when a temperature threshold has been exceeded for the CPU. This interrupt may also be generated when the temperature drops back to normal.”…”�”}”(hjÅ=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M]hjÂ=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj°=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´M_hj~=h²hubjú7)�”}”(hXUSPU a spurious interrupt is some interrupt that was raised then lowered by some IO device before it could be fully processed by the APIC. Hence the APIC sees the interrupt but does not know what device it came from. For this case the APIC will generate the interrupt with a IRQ vector of 0xff. This might also be generated by chipset bugs. ”h]”(j8)�”}”(hŒSPU”h]”hŒSPU”…”�”}”(hjã=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´Mfhjß=ubj8)�”}”(hhh]”j)�”}”(hXPa spurious interrupt is some interrupt that was raised then lowered by some IO device before it could be fully processed by the APIC. Hence the APIC sees the interrupt but does not know what device it came from. For this case the APIC will generate the interrupt with a IRQ vector of 0xff. This might also be generated by chipset bugs.”h]”hXPa spurious interrupt is some interrupt that was raised then lowered by some IO device before it could be fully processed by the APIC. Hence the APIC sees the interrupt but does not know what device it came from. For this case the APIC will generate the interrupt with a IRQ vector of 0xff. This might also be generated by chipset bugs.”…”�”}”(hjô=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mbhjñ=ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjß=ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´Mfhj~=h²hubjú7)�”}”(hXRES, CAL, TLB rescheduling, call and TLB flush interrupts are sent from one CPU to another per the needs of the OS. Typically, their statistics are used by kernel developers and interested users to determine the occurrence of interrupts of the given type. ”h]”(j8)�”}”(hŒ RES, CAL, TLB”h]”hŒ RES, CAL, TLB”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´Mlhj>ubj8)�”}”(hhh]”j)�”}”(hŒòrescheduling, call and TLB flush interrupts are sent from one CPU to another per the needs of the OS. Typically, their statistics are used by kernel developers and interested users to determine the occurrence of interrupts of the given type.”h]”hŒòrescheduling, call and TLB flush interrupts are sent from one CPU to another per the needs of the OS. Typically, their statistics are used by kernel developers and interested users to determine the occurrence of interrupts of the given type.”…”�”}”(hj#>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mihj >ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj>ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´Mlhj~=h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jô7hj\2h²hh³hÇh´Nubj)�”}”(hXThe above IRQ vectors are displayed only when relevant. For example, the threshold vector does not exist on x86_64 platforms. Others are suppressed when the system is a uniprocessor. As of this writing, only i386 and x86_64 platforms support the new IRQ vector displays.”h]”hXThe above IRQ vectors are displayed only when relevant. For example, the threshold vector does not exist on x86_64 platforms. Others are suppressed when the system is a uniprocessor. As of this writing, only i386 and x86_64 platforms support the new IRQ vector displays.”…”�”}”(hjC>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mnhj\2h²hubj)�”}”(hX&Of some interest is the introduction of the /proc/irq directory to 2.4. It could be used to set IRQ to CPU affinity. This means that you can "hook" an IRQ to only one CPU, or to exclude a CPU of handling IRQs. The contents of the irq subdir is one subdir for each IRQ, and default_smp_affinity.”h]”hX*Of some interest is the introduction of the /proc/irq directory to 2.4. It could be used to set IRQ to CPU affinity. This means that you can “hookâ€� an IRQ to only one CPU, or to exclude a CPU of handling IRQs. The contents of the irq subdir is one subdir for each IRQ, and default_smp_affinity.”…”�”}”(hjQ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mshj\2h²hubj)�”}”(hŒ For example::”h]”hŒ For example:”…”�”}”(hj_>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mxhj\2h²hubj6 )�”}”(hŒˆ> ls /proc/irq/ 0 10 12 14 16 18 2 4 6 8 default_smp_affinity 1 11 13 15 17 19 3 5 7 9 > ls /proc/irq/0/ smp_affinity”h]”hŒˆ> ls /proc/irq/ 0 10 12 14 16 18 2 4 6 8 default_smp_affinity 1 11 13 15 17 19 3 5 7 9 > ls /proc/irq/0/ smp_affinity”…”�”}”hjm>sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´Mzhj\2h²hubj)�”}”(hŒlsmp_affinity is a bitmask, in which you can specify which CPUs can handle the IRQ. You can set it by doing::”h]”hŒksmp_affinity is a bitmask, in which you can specify which CPUs can handle the IRQ. You can set it by doing:”…”�”}”(hj{>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M€hj\2h²hubj6 )�”}”(hŒ$> echo 1 > /proc/irq/10/smp_affinity”h]”hŒ$> echo 1 > /proc/irq/10/smp_affinity”…”�”}”hj‰>sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´Mƒhj\2h²hubj)�”}”(hŒ‘This means that only the first CPU will handle the IRQ, but you can also echo 5 which means that only the first and third CPU can handle the IRQ.”h]”hŒ‘This means that only the first CPU will handle the IRQ, but you can also echo 5 which means that only the first and third CPU can handle the IRQ.”…”�”}”(hj—>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M…hj\2h²hubj)�”}”(hŒ?The contents of each smp_affinity file is the same by default::”h]”hŒ>The contents of each smp_affinity file is the same by default:”…”�”}”(hj¥>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mˆhj\2h²hubj6 )�”}”(hŒ'> cat /proc/irq/0/smp_affinity ffffffff”h]”hŒ'> cat /proc/irq/0/smp_affinity ffffffff”…”�”}”hj³>sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MŠhj\2h²hubj)�”}”(hŒmThere is an alternate interface, smp_affinity_list which allows specifying a CPU range instead of a bitmask::”h]”hŒlThere is an alternate interface, smp_affinity_list which allows specifying a CPU range instead of a bitmask:”…”�”}”(hjÁ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hj\2h²hubj6 )�”}”(hŒ-> cat /proc/irq/0/smp_affinity_list 1024-1031”h]”hŒ-> cat /proc/irq/0/smp_affinity_list 1024-1031”…”�”}”hjÏ>sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M�hj\2h²hubj)�”}”(hŒ°The default_smp_affinity mask applies to all non-active IRQs, which are the IRQs which have not yet been allocated/activated, and hence which lack a /proc/irq/[0-9]* directory.”h]”hŒ°The default_smp_affinity mask applies to all non-active IRQs, which are the IRQs which have not yet been allocated/activated, and hence which lack a /proc/irq/[0-9]* directory.”…”�”}”(hjÝ>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M“hj\2h²hubj)�”}”(hŒàThe node file on an SMP system shows the node to which the device using the IRQ reports itself as being attached. This hardware locality information does not include information about any possible driver locality preference.”h]”hŒàThe node file on an SMP system shows the node to which the device using the IRQ reports itself as being attached. This hardware locality information does not include information about any possible driver locality preference.”…”�”}”(hjë>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M—hj\2h²hubj)�”}”(hX`The way IRQs are routed is handled by the IO-APIC, and it's Round Robin between all the CPUs which are allowed to handle it. As usual the kernel has more info than you and does a better job than you, so the defaults are the best choice for almost everyone. [Note this applies only to those IO-APIC's that support "Round Robin" interrupt distribution.]”h]”hXhThe way IRQs are routed is handled by the IO-APIC, and it’s Round Robin between all the CPUs which are allowed to handle it. As usual the kernel has more info than you and does a better job than you, so the defaults are the best choice for almost everyone. [Note this applies only to those IO-APIC’s that support “Round Robinâ€� interrupt distribution.]”…”�”}”(hjù>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M›hj\2h²hubj)�”}”(hXzThere are three more important subdirectories in /proc: net, scsi, and sys. The general rule is that the contents, or even the existence of these directories, depend on your kernel configuration. If SCSI is not enabled, the directory scsi may not exist. The same is true with the net, which is there only when networking support is present in the running kernel.”h]”hXzThere are three more important subdirectories in /proc: net, scsi, and sys. The general rule is that the contents, or even the existence of these directories, depend on your kernel configuration. If SCSI is not enabled, the directory scsi may not exist. The same is true with the net, which is there only when networking support is present in the running kernel.”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¡hj\2h²hubj)�”}”(hX The slabinfo file gives information about memory usage at the slab level. Linux uses slab pools for memory management above page level in version 2.2. Commonly used objects have their own slab pool (such as network buffers, directory cache, and so on).”h]”hX The slabinfo file gives information about memory usage at the slab level. Linux uses slab pools for memory management above page level in version 2.2. Commonly used objects have their own slab pool (such as network buffers, directory cache, and so on).”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M§hj\2h²hubj6 )�”}”(hŒâ> cat /proc/buddyinfo Node 0, zone DMA 0 4 5 4 4 3 ... Node 0, zone Normal 1 0 0 1 101 8 ... Node 0, zone HighMem 2 0 0 1 1 0 ...”h]”hŒâ> cat /proc/buddyinfo Node 0, zone DMA 0 4 5 4 4 3 ... Node 0, zone Normal 1 0 0 1 101 8 ... Node 0, zone HighMem 2 0 0 1 1 0 ...”…”�”}”hj#?sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M®hj\2h²hubj)�”}”(hŒñExternal fragmentation is a problem under some workloads, and buddyinfo is a useful tool for helping diagnose these problems. Buddyinfo will give you a clue as to how big an area you can safely allocate, or why a previous allocation failed.”h]”hŒñExternal fragmentation is a problem under some workloads, and buddyinfo is a useful tool for helping diagnose these problems. Buddyinfo will give you a clue as to how big an area you can safely allocate, or why a previous allocation failed.”…”�”}”(hj1?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M´hj\2h²hubj)�”}”(hXEach column represents the number of pages of a certain order which are available. In this case, there are 0 chunks of 2^0*PAGE_SIZE available in ZONE_DMA, 4 chunks of 2^1*PAGE_SIZE in ZONE_DMA, 101 chunks of 2^4*PAGE_SIZE available in ZONE_NORMAL, etc...”h]”hXEach column represents the number of pages of a certain order which are available. In this case, there are 0 chunks of 2^0*PAGE_SIZE available in ZONE_DMA, 4 chunks of 2^1*PAGE_SIZE in ZONE_DMA, 101 chunks of 2^4*PAGE_SIZE available in ZONE_NORMAL, etc...”…”�”}”(hj??h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¹hj\2h²hubj)�”}”(hŒRMore information relevant to external fragmentation can be found in pagetypeinfo::”•Fh]”hŒQMore information relevant to external fragmentation can be found in pagetypeinfo:”…”�”}”(hjM?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¾hj\2h²hubj6 )�”}”(hX}> cat /proc/pagetypeinfo Page block order: 9 Pages per block: 512 Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10 Node 0, zone DMA, type Unmovable 0 0 0 1 1 1 1 1 1 1 0 Node 0, zone DMA, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone DMA, type Movable 1 1 2 1 2 1 1 0 1 0 2 Node 0, zone DMA, type Reserve 0 0 0 0 0 0 0 0 0 1 0 Node 0, zone DMA, type Isolate 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone DMA32, type Unmovable 103 54 77 1 1 1 11 8 7 1 9 Node 0, zone DMA32, type Reclaimable 0 0 2 1 0 0 0 0 1 0 0 Node 0, zone DMA32, type Movable 169 152 113 91 77 54 39 13 6 1 452 Node 0, zone DMA32, type Reserve 1 2 2 2 2 0 1 1 1 1 0 Node 0, zone DMA32, type Isolate 0 0 0 0 0 0 0 0 0 0 0 Number of blocks type Unmovable Reclaimable Movable Reserve Isolate Node 0, zone DMA 2 0 5 1 0 Node 0, zone DMA32 41 6 967 2 0”h]”hX}> cat /proc/pagetypeinfo Page block order: 9 Pages per block: 512 Free pages count per migrate type at order 0 1 2 3 4 5 6 7 8 9 10 Node 0, zone DMA, type Unmovable 0 0 0 1 1 1 1 1 1 1 0 Node 0, zone DMA, type Reclaimable 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone DMA, type Movable 1 1 2 1 2 1 1 0 1 0 2 Node 0, zone DMA, type Reserve 0 0 0 0 0 0 0 0 0 1 0 Node 0, zone DMA, type Isolate 0 0 0 0 0 0 0 0 0 0 0 Node 0, zone DMA32, type Unmovable 103 54 77 1 1 1 11 8 7 1 9 Node 0, zone DMA32, type Reclaimable 0 0 2 1 0 0 0 0 1 0 0 Node 0, zone DMA32, type Movable 169 152 113 91 77 54 39 13 6 1 452 Node 0, zone DMA32, type Reserve 1 2 2 2 2 0 1 1 1 1 0 Node 0, zone DMA32, type Isolate 0 0 0 0 0 0 0 0 0 0 0 Number of blocks type Unmovable Reclaimable Movable Reserve Isolate Node 0, zone DMA 2 0 5 1 0 Node 0, zone DMA32 41 6 967 2 0”…”�”}”hj[?sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MÁhj\2h²hubj)�”}”(hXzFragmentation avoidance in the kernel works by grouping pages of different migrate types into the same contiguous regions of memory called page blocks. A page block is typically the size of the default hugepage size, e.g. 2MB on X86-64. By keeping pages grouped based on their ability to move, the kernel can reclaim pages within a page block to satisfy a high-order allocation.”h]”hXzFragmentation avoidance in the kernel works by grouping pages of different migrate types into the same contiguous regions of memory called page blocks. A page block is typically the size of the default hugepage size, e.g. 2MB on X86-64. By keeping pages grouped based on their ability to move, the kernel can reclaim pages within a page block to satisfy a high-order allocation.”…”�”}”(hji?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÕhj\2h²hubj)�”}”(hŒåThe pagetypinfo begins with information on the size of a page block. It then gives the same type of information as buddyinfo except broken down by migrate-type and finishes with details on how many page blocks of each type exist.”h]”hŒåThe pagetypinfo begins with information on the size of a page block. It then gives the same type of information as buddyinfo except broken down by migrate-type and finishes with details on how many page blocks of each type exist.”…”�”}”(hjw?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÛhj\2h²hubj)�”}”(hXÕIf min_free_kbytes has been tuned correctly (recommendations made by hugeadm from libhugetlbfs https://github.com/libhugetlbfs/libhugetlbfs/), one can make an estimate of the likely number of huge pages that can be allocated at a given point in time. All the "Movable" blocks should be allocatable unless memory has been mlock()'d. Some of the Reclaimable blocks should also be allocatable although a lot of filesystem metadata may have to be reclaimed to achieve this.”h]”(hŒ_If min_free_kbytes has been tuned correctly (recommendations made by hugeadm from libhugetlbfs ”…”�”}”(hj…?h²hh³Nh´Nubj8)�”}”(hŒ-https://github.com/libhugetlbfs/libhugetlbfs/”h]”hŒ-https://github.com/libhugetlbfs/libhugetlbfs/”…”�”}”(hj�?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j�?uh1j7hj…?ubhXO), one can make an estimate of the likely number of huge pages that can be allocated at a given point in time. All the “Movableâ€� blocks should be allocatable unless memory has been mlock()’d. Some of the Reclaimable blocks should also be allocatable although a lot of filesystem metadata may have to be reclaimed to achieve this.”…”�”}”(hj…?h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Màhj\2h²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ allocinfo”h]”hŒ allocinfo”…”�”}”(hj©?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¦?h²hh³hÇh´Mêubj)�”}”(hXŸProvides information about memory allocations at all locations in the code base. Each allocation in the code is identified by its source file, line number, module (if originates from a loadable module) and the function calling the allocation. The number of bytes allocated and number of calls at each location are reported. The first line indicates the version of the file, the second line is the header listing fields in the file. If file version is 2.0 or higher then each line may contain additional : pairs representing extra information about the call site. For example if the counters are not accurate, the line will be appended with "accurate:no" pair.”h]”hX£Provides information about memory allocations at all locations in the code base. Each allocation in the code is identified by its source file, line number, module (if originates from a loadable module) and the function calling the allocation. The number of bytes allocated and number of calls at each location are reported. The first line indicates the version of the file, the second line is the header listing fields in the file. If file version is 2.0 or higher then each line may contain additional : pairs representing extra information about the call site. For example if the counters are not accurate, the line will be appended with “accurate:noâ€� pair.”…”�”}”(hj·?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mìhj¦?h²hubj)�”}”(hŒ$Supported markers in v2: accurate:no”h]”hŒ$Supported markers in v2: accurate:no”…”�”}”(hjÅ?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M÷hj¦?h²hubjí$)�”}”(hXAbsolute values of the counters in this line are not accurate because of the failure to allocate memory to track some of the allocations made at this location. Deltas in these counters are accurate, therefore counters can be used to track allocation size and count changes. ”h]”j)�”}”(hXAbsolute values of the counters in this line are not accurate because of the failure to allocate memory to track some of the allocations made at this location. Deltas in these counters are accurate, therefore counters can be used to track allocation size and count changes.”h]”hXAbsolute values of the counters in this line are not accurate because of the failure to allocate memory to track some of the allocations made at this location. Deltas in these counters are accurate, therefore counters can be used to track allocation size and count changes.”…”�”}”(hj×?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MúhjÓ?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´Múhj¦?h²hubj)�”}”(hŒExample output.”h]”hŒExample output.”…”�”}”(hjë?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj¦?h²hubj6 )�”}”(hX > tail -n +3 /proc/allocinfo | sort -rn 127664128 31168 mm/page_ext.c:270 func:alloc_page_ext 56373248 4737 mm/slub.c:2259 func:alloc_slab_page 14880768 3633 mm/readahead.c:247 func:page_cache_ra_unbounded 14417920 3520 mm/mm_init.c:2530 func:alloc_large_system_hash 13377536 234 block/blk-mq.c:3421 func:blk_mq_alloc_rqs 11718656 2861 mm/filemap.c:1919 func:__filemap_get_folio 9192960 2800 kernel/fork.c:307 func:alloc_thread_stack_node 4206592 4 net/netfilter/nf_conntrack_core.c:2567 func:nf_ct_alloc_hashtable 4136960 1010 drivers/staging/ctagmod/ctagmod.c:20 [ctagmod] func:ctagmod_start 3940352 962 mm/memory.c:4214 func:alloc_anon_folio 2894464 22613 fs/kernfs/dir.c:615 func:__kernfs_new_node ...”h]”hX > tail -n +3 /proc/allocinfo | sort -rn 127664128 31168 mm/page_ext.c:270 func:alloc_page_ext 56373248 4737 mm/slub.c:2259 func:alloc_slab_page 14880768 3633 mm/readahead.c:247 func:page_cache_ra_unbounded 14417920 3520 mm/mm_init.c:2530 func:alloc_large_system_hash 13377536 234 block/blk-mq.c:3421 func:blk_mq_alloc_rqs 11718656 2861 mm/filemap.c:1919 func:__filemap_get_folio 9192960 2800 kernel/fork.c:307 func:alloc_thread_stack_node 4206592 4 net/netfilter/nf_conntrack_core.c:2567 func:nf_ct_alloc_hashtable 4136960 1010 drivers/staging/ctagmod/ctagmod.c:20 [ctagmod] func:ctagmod_start 3940352 962 mm/memory.c:4214 func:alloc_anon_folio 2894464 22613 fs/kernfs/dir.c:615 func:__kernfs_new_node ...”…”�”}”hjù?sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´Mhj¦?h²hubeh}”(h]”Œ allocinfo”ah ]”h"]”Œ allocinfo”ah$]”h&]”uh1hÈhj\2h²hh³hÇh´MêubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒmeminfo”h]”hŒmeminfo”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj@h²hh³hÇh´Mubj)�”}”(hXßProvides information about distribution and utilization of memory. This varies by architecture and compile options. Some of the counters reported here overlap. The memory reported by the non overlapping counters may not add up to the overall memory usage and the difference for some workloads can be substantial. In many cases there are other means to find out additional memory using subsystem specific interfaces, for instance /proc/net/sockstat for TCP memory allocations.”h]”hXßProvides information about distribution and utilization of memory. This varies by architecture and compile options. Some of the counters reported here overlap. The memory reported by the non overlapping counters may not add up to the overall memory usage and the difference for some workloads can be substantial. In many cases there are other means to find out additional memory using subsystem specific interfaces, for instance /proc/net/sockstat for TCP memory allocations.”…”�”}”(hj @h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj@h²hubj)�”}”(hŒ5Example output. You may not have all of these fields.”h]”hŒ5Example output. You may not have all of these fields.”…”�”}”(hj.@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj@h²hubj6 )�”}”(hX·> cat /proc/meminfo MemTotal: 32858820 kB MemFree: 21001236 kB MemAvailable: 27214312 kB Buffers: 581092 kB Cached: 5587612 kB SwapCached: 0 kB Active: 3237152 kB Inactive: 7586256 kB Active(anon): 94064 kB Inactive(anon): 4570616 kB Active(file): 3143088 kB Inactive(file): 3015640 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 0 kB SwapFree: 0 kB Zswap: 1904 kB Zswapped: 7792 kB Dirty: 12 kB Writeback: 0 kB AnonPages: 4654780 kB Mapped: 266244 kB Shmem: 9976 kB KReclaimable: 517708 kB Slab: 660044 kB SReclaimable: 517708 kB SUnreclaim: 142336 kB KernelStack: 11168 kB PageTables: 20540 kB SecPageTables: 0 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 16429408 kB Committed_AS: 7715148 kB VmallocTotal: 34359738367 kB VmallocUsed: 40444 kB VmallocChunk: 0 kB Percpu: 29312 kB EarlyMemtestBad: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 4149248 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB FileHugePages: 0 kB FilePmdMapped: 0 kB CmaTotal: 0 kB CmaFree: 0 kB Unaccepted: 0 kB Balloon: 0 kB GPUActive: 0 kB GPUReclaim: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB DirectMap4k: 401152 kB DirectMap2M: 10008576 kB DirectMap1G: 24117248 kB”h]”hX·> cat /proc/meminfo MemTotal: 32858820 kB MemFree: 21001236 kB MemAvailable: 27214312 kB Buffers: 581092 kB Cached: 5587612 kB SwapCached: 0 kB Active: 3237152 kB Inactive: 7586256 kB Active(anon): 94064 kB Inactive(anon): 4570616 kB Active(file): 3143088 kB Inactive(file): 3015640 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 0 kB SwapFree: 0 kB Zswap: 1904 kB Zswapped: 7792 kB Dirty: 12 kB Writeback: 0 kB AnonPages: 4654780 kB Mapped: 266244 kB Shmem: 9976 kB KReclaimable: 517708 kB Slab: 660044 kB SReclaimable: 517708 kB SUnreclaim: 142336 kB KernelStack: 11168 kB PageTables: 20540 kB SecPageTables: 0 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 16429408 kB Committed_AS: 7715148 kB VmallocTotal: 34359738367 kB VmallocUsed: 40444 kB VmallocChunk: 0 kB Percpu: 29312 kB EarlyMemtestBad: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 4149248 kB ShmemHugePages: 0 kB ShmemPmdMapped: 0 kB FileHugePages: 0 kB FilePmdMapped: 0 kB CmaTotal: 0 kB CmaFree: 0 kB Unaccepted: 0 kB Balloon: 0 kB GPUActive: 0 kB GPUReclaim: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB Hugetlb: 0 kB DirectMap4k: 401152 kB DirectMap2M: 10008576 kB DirectMap1G: 24117248 kB”…”�”}”hj<@sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M"hj@h²hubjõ7)�”}”(hhh]”(jú7)�”}”(hŒbMemTotal Total usable RAM (i.e. physical RAM minus a few reserved bits and the kernel binary code)”h]”(j8)�”}”(hŒMemTotal”h]”hŒMemTotal”…”�”}”(hjQ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´MchjM@ubj8)�”}”(hhh]”j)�”}”(hŒYTotal usable RAM (i.e. physical RAM minus a few reserved bits and the kernel binary code)”h]”hŒYTotal usable RAM (i.e. physical RAM minus a few reserved bits and the kernel binary code)”…”�”}”(hjb@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mchj_@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjM@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MchjJ@ubjú7)�”}”(hŒGMemFree Total free RAM. On highmem systems, the sum of LowFree+HighFree”h]”(j8)�”}”(hŒMemFree”h]”hŒMemFree”…”�”}”(hj€@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´Mehj|@ubj8)�”}”(hhh]”j)�”}”(hŒ?Total free RAM. On highmem systems, the sum of LowFree+HighFree”h]”hŒ?Total free RAM. On highmem systems, the sum of LowFree+HighFree”…”�”}”(hj‘@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MfhjŽ@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj|@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MehjJ@h²hubjú7)�”}”(hX¼MemAvailable An estimate of how much memory is available for starting new applications, without swapping. Calculated from MemFree, SReclaimable, the size of the file LRU lists, and the low watermarks in each zone. The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system.”h]”(j8)�”}”(hŒ MemAvailable”h]”hŒ MemAvailable”…”�”}”(hj¯@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´Mnhj«@ubj8)�”}”(hhh]”j)�”}”(hX¯An estimate of how much memory is available for starting new applications, without swapping. Calculated from MemFree, SReclaimable, the size of the file LRU lists, and the low watermarks in each zone. The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system.”h]”hX¯An estimate of how much memory is available for starting new applications, without swapping. Calculated from MemFree, SReclaimable, the size of the file LRU lists, and the low watermarks in each zone. The estimate takes into account that the system needs some page cache to function well, and that not all reclaimable slab will be reclaimable, due to items being in use. The impact of those factors will vary from system to system.”…”�”}”(hjÀ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhhj½@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj«@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MnhjJ@h²hubjú7)�”}”(hŒfBuffers Relatively temporary storage for raw disk blocks shouldn't get tremendously large (20MB or so)”h]”(j8)�”}”(hŒBuffers”h]”hŒBuffers”…”�”}”(hjÞ@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´MqhjÚ@ubj8)�”}”(hhh]”j)�”}”(hŒ^Relatively temporary storage for raw disk blocks shouldn't get tremendously large (20MB or so)”h]”hŒ`Relatively temporary storage for raw disk blocks shouldn’t get tremendously large (20MB or so)”…”�”}”(hjï@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mqhjì@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjÚ@ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MqhjJ@h²hubjú7)�”}”(hŒyCached In-memory cache for files read from the disk (the pagecache) as well as tmpfs & shmem. Doesn't include SwapCached.”h]”(j8)�”}”(hŒCached”h]”hŒCached”…”�”}”(hj Ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´Muhj Aubj8)�”}”(hhh]”j)�”}”(hŒrIn-memory cache for files read from the disk (the pagecache) as well as tmpfs & shmem. Doesn't include SwapCached.”h]”hŒtIn-memory cache for files read from the disk (the pagecache) as well as tmpfs & shmem. Doesn’t include SwapCached.”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MthjAubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj Aubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MuhjJ@h²hubjú7)�”}”(hŒÕSwapCached Memory that once was swapped out, is swapped back in but still also is in the swapfile (if memory is needed it doesn't need to be swapped out AGAIN because it is already in the swapfile. This saves I/O)”h]”(j8)�”}”(hŒ SwapCached”h]”hŒ SwapCached”…”�”}”(hjFilePmdMapped Page cache mapped into userspace with huge pages”h]”(j8)�”}”(hŒ FilePmdMapped”h]”hŒ FilePmdMapped”…”�”}”(hj€Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´Mhj|Hubj8)�”}”(hhh]”j)�”}”(hŒ0Page cache mapped into userspace with huge pages”h]”hŒ0Page cache mapped into userspace with huge pages”…”�”}”(hj‘Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjŽHubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj|Hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MhjJ@h²hubjú7)�”}”(hŒBCmaTotal Memory reserved for the Contiguous Memory Allocator (CMA)”h]”(j8)�”}”(hŒCmaTotal”h]”hŒCmaTotal”…”�”}”(hj¯Hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´Mhj«Hubj8)�”}”(hhh]”j)�”}”(hŒ9Memory reserved for the Contiguous Memory Allocator (CMA)”h]”hŒ9Memory reserved for the Contiguous Memory Allocator (CMA)”…”�”}”(hjÀHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj½Hubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj«Hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MhjJ@h²hubjú7)�”}”(hŒ1CmaFree Free remaining memory in the CMA reserves”h]”(j8)�”}”(hŒCmaFree”h]”hŒCmaFree”…”�”}”(hjÞHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´MhjÚHubj8)�”}”(hhh]”j)�”}”(hŒ)Free remaining memory in the CMA reserves”h]”hŒ)Free remaining memory in the CMA reserves”…”�”}”(hjïHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjìHubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hjÚHubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MhjJ@h²hubjú7)�”}”(hŒ9Unaccepted Memory that has not been accepted by the guest”h]”(j8)�”}”(hŒ Unaccepted”h]”hŒ Unaccepted”…”�”}”(hj Ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÿ7h³hÇh´Mhj Iubj8)�”}”(hhh]”j)�”}”(hŒ.Memory that has not been accepted by the guest”h]”hŒ.Memory that has not been accepted by the guest”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjIubah}”(h]”h ]”h"]”h$]”h&]”uh1j8hj Iubeh}”(h]”h ]”h"]”h$]”h&]”uh1jù7h³hÇh´MhjJ@h²hubjú7)�”}”(hŒ5Balloon Memory returned to Host by VM Balloon Drivers”h]”(j8)�”}”(hŒBalloon”h]”hŒBalloon”…”�”}”(hj=nr (Only on NUMA kernels) Number of pages allocated on memory node ========== =================================================== ”h]”hÞ)�”}”(hhh]”hã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1hçhjWJubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K3uh1hçhjWJubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpages=nr”h]”hŒpages=nr”…”�”}”(hjwJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M!hjtJubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjqJubj)�”}”(hhh]”j)�”}”(hŒnumber of pages”h]”hŒnumber of pages”…”�”}”(hjŽJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M!hj‹Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjqJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjnJubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ phys=addr”h]”hŒ phys=addr”…”�”}”(hj®Jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M"hj«Jubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨Jubj)�”}”(hhh]”j)�”}”(hŒ#if a physical address was specified”h]”hŒ#if a physical address was specified”…”�”}”(hjÅJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M"hjÂJubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨Jubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjnJubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒioremap”h]”hŒioremap”…”�”}”(hjåJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M#hjâJubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjßJubj)�”}”(hhh]”j)�”}”(hŒ#I/O mapping (ioremap() and friends)”h]”hŒ#I/O mapping (ioremap() and friends)”…”�”}”(hjüJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M#hjùJubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjßJubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjnJubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒvmalloc”h]”hŒvmalloc”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M$hjKubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjKubj)�”}”(hhh]”j)�”}”(hŒvmalloc() area”h]”hŒvmalloc() area”…”�”}”(hj3Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M$hj0Kubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjnJubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒvmap”h]”hŒvmap”…”�”}”(hjSKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M%hjPKubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjMKubj)�”}”(hhh]”j)�”}”(hŒvmap()ed pages”h]”hŒvmap()ed pages”…”�”}”(hjjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M%hjgKubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjMKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjnJubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒuser”h]”hŒuser”…”�”}”(hjŠKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M&hj‡Kubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj„Kubj)�”}”(hhh]”j)�”}”(hŒVM_USERMAP area”h]”hŒVM_USERMAP area”…”�”}”(hj¡Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M&hjžKubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj„Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjnJubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒvpages”h]”hŒvpages”…”�”}”(hjÁKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M'hj¾Kubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj»Kubj)�”}”(hhh]”j)�”}”(hŒ3buffer for pages pointers was vmalloced (huge area)”h]”hŒ3buffer for pages pointers was vmalloced (huge area)”…”�”}”(hjØKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M'hjÕKubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj»Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjnJubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ N=nr”h]”hŒ N=nr”…”�”}”(hjøKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M(hjõKubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjòKubj)�”}”(hhh]”j)�”}”(hŒF(Only on NUMA kernels) Number of pages allocated on memory node ”h]”hŒF(Only on NUMA kernels) Number of pages allocated on memory node ”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M(hj Lubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjòKubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjnJubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjWJubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhjTJubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjPJubah}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´M hj1Jh²hubj6 )�”}”(hX> cat /proc/vmallocinfo 0xffffc20000000000-0xffffc20000201000 2101248 alloc_large_system_hash+0x204 ... /0x2c0 pages=512 vmalloc N0=128 N1=128 N2=128 N3=128 0xffffc20000201000-0xffffc20000302000 1052672 alloc_large_system_hash+0x204 ... /0x2c0 pages=256 vmalloc N0=64 N1=64 N2=64 N3=64 0xffffc20000302000-0xffffc20000304000 8192 acpi_tb_verify_table+0x21/0x4f... phys=7fee8000 ioremap 0xffffc20000304000-0xffffc20000307000 12288 acpi_tb_verify_table+0x21/0x4f... phys=7fee7000 ioremap 0xffffc2000031d000-0xffffc2000031f000 8192 init_vdso_vars+0x112/0x210 0xffffc2000031f000-0xffffc2000032b000 49152 cramfs_uncompress_init+0x2e ... /0x80 pages=11 vmalloc N0=3 N1=3 N2=2 N3=3 0xffffc2000033a000-0xffffc2000033d000 12288 sys_swapon+0x640/0xac0 ... pages=2 vmalloc N1=2 0xffffc20000347000-0xffffc2000034c000 20480 xt_alloc_table_info+0xfe ... /0x130 [x_tables] pages=4 vmalloc N0=4 0xffffffffa0000000-0xffffffffa000f000 61440 sys_init_module+0xc27/0x1d00 ... pages=14 vmalloc N2=14 0xffffffffa000f000-0xffffffffa0014000 20480 sys_init_module+0xc27/0x1d00 ... pages=4 vmalloc N1=4 0xffffffffa0014000-0xffffffffa0017000 12288 sys_init_module+0xc27/0x1d00 ... pages=2 vmalloc N1=2 0xffffffffa0017000-0xffffffffa0022000 45056 sys_init_module+0xc27/0x1d00 ... pages=10 vmalloc N0=10”h]”hX> cat /proc/vmallocinfo 0xffffc20000000000-0xffffc20000201000 2101248 alloc_large_system_hash+0x204 ... /0x2c0 pages=512 vmalloc N0=128 N1=128 N2=128 N3=128 0xffffc20000201000-0xffffc20000302000 1052672 alloc_large_system_hash+0x204 ... /0x2c0 pages=256 vmalloc N0=64 N1=64 N2=64 N3=64 0xffffc20000302000-0xffffc20000304000 8192 acpi_tb_verify_table+0x21/0x4f... phys=7fee8000 ioremap 0xffffc20000304000-0xffffc20000307000 12288 acpi_tb_verify_table+0x21/0x4f... phys=7fee7000 ioremap 0xffffc2000031d000-0xffffc2000031f000 8192 init_vdso_vars+0x112/0x210 0xffffc2000031f000-0xffffc2000032b000 49152 cramfs_uncompress_init+0x2e ... /0x80 pages=11 vmalloc N0=3 N1=3 N2=2 N3=3 0xffffc2000033a000-0xffffc2000033d000 12288 sys_swapon+0x640/0xac0 ... pages=2 vmalloc N1=2 0xffffc20000347000-0xffffc2000034c000 20480 xt_alloc_table_info+0xfe ... /0x130 [x_tables] pages=4 vmalloc N0=4 0xffffffffa0000000-0xffffffffa000f000 61440 sys_init_module+0xc27/0x1d00 ... pages=14 vmalloc N2=14 0xffffffffa000f000-0xffffffffa0014000 20480 sys_init_module+0xc27/0x1d00 ... pages=4 vmalloc N1=4 0xffffffffa0014000-0xffffffffa0017000 12288 sys_init_module+0xc27/0x1d00 ... pages=2 vmalloc N1=2 0xffffffffa0017000-0xffffffffa0022000 45056 sys_init_module+0xc27/0x1d00 ... pages=10 vmalloc N0=10”…”�”}”hjBLsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M.hj1Jh²hubeh}”(h]”Œ vmallocinfo”ah ]”h"]”Œ vmallocinfo”ah$]”h&]”uh1hÈhj\2h²hh³hÇh´MubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒsoftirqs”h]”hŒsoftirqs”…”�”}”(hj[Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjXLh²hh³hÇh´MIubj)�”}”(hŒKProvides counts of softirq handlers serviced since boot time, for each CPU.”h]”hŒKProvides counts of softirq handlers serviced since boot time, for each CPU.”…”�”}”(hjiLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MKhjXLh²hubj6 )�”}”(hX> cat /proc/softirqs CPU0 CPU1 CPU2 CPU3 HI: 0 0 0 0 TIMER: 27166 27120 27097 27034 NET_TX: 0 0 0 17 NET_RX: 42 0 0 39 BLOCK: 0 0 107 1121 TASKLET: 0 0 0 290 SCHED: 27035 26983 26971 26746 HRTIMER: 0 0 0 0 RCU: 1678 1769 2178 2250”h]”hX> cat /proc/softirqs CPU0 CPU1 CPU2 CPU3 HI: 0 0 0 0 TIMER: 27166 27120 27097 27034 NET_TX: 0 0 0 17 NET_RX: 42 0 0 39 BLOCK: 0 0 107 1121 TASKLET: 0 0 0 290 SCHED: 27035 26983 26971 26746 HRTIMER: 0 0 0 0 RCU: 1678 1769 2178 2250”…”�”}”hjwLsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MOhjXLh²hubeh}”(h]”Œsoftirqs”ah ]”h"]”Œsoftirqs”ah$]”h&]”uh1hÈhj\2h²hh³hÇh´MIubeh}”(h]”Œ kernel-data”ah ]”h"]”Œ1.2 kernel data”ah$]”h&]”uh1hÈhjUh²hh³hÇh´MÖubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ 1.3 Networking info in /proc/net”h]”hŒ 1.3 Networking info in /proc/net”…”�”}”(hj˜Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj•Lh²hh³hÇh´M\ubj)�”}”(hŒØThe subdirectory /proc/net follows the usual pattern. Table 1-8 shows the additional values you get for IP version 6 if you configure the kernel to support this. Table 1-9 lists the files and their meaning.”••h]”hŒØThe subdirectory /proc/net follows the usual pattern. Table 1-8 shows the additional values you get for IP version 6 if you configure the kernel to support this. Table 1-9 lists the files and their meaning.”…”�”}”(hj¦Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M^hj•Lh²hubhÞ)�”}”(hhh]”(hÎ)�”}”(hŒ!Table 1-8: IPv6 info in /proc/net”h]”hŒ!Table 1-8: IPv6 info in /proc/net”…”�”}”(hj·Lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍh³hÇh´Mchj´Lubhã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1hçhjÅLubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K5uh1hçhjÅLubjº)�”}”(hhh]”j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒFile”h]”hŒFile”…”�”}”(hjåLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MfhjâLubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjßLubj)�”}”(hhh]”j)�”}”(hŒContent”h]”hŒContent”…”�”}”(hjüLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MfhjùLubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjßLubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjÜLubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÅLubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒudp6”h]”hŒudp6”…”�”}”(hj%Mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhhj"Mubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjMubj)�”}”(hhh]”j)�”}”(hŒUDP sockets (IPv6)”h]”hŒUDP sockets (IPv6)”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M†hj;Rubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj!Rubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsnmp”h]”hŒsnmp”…”�”}”(hj^Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‡hj[Rubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjXRubj)�”}”(hhh]”j)�”}”(hŒ SNMP data”h]”hŒ SNMP data”…”�”}”(hjuRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‡hjrRubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjXRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsockstat”h]”hŒsockstat”…”�”}”(hj•Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mˆhj’Rubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�Rubj)�”}”(hhh]”j)�”}”(hŒSocket statistics”h]”hŒSocket statistics”…”�”}”(hj¬Rh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mˆhj©Rubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�Rubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ softnet_stat”h]”hŒ softnet_stat”…”�”}”(hjÌRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‰hjÉRubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÆRubj)�”}”(hhh]”j)�”}”(hŒ9Per-CPU incoming packets queues statistics of online CPUs”h]”hŒ9Per-CPU incoming packets queues statistics of online CPUs”…”�”}”(hjãRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‰hjàRubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÆRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒtcp”h]”hŒtcp”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŠhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjýRubj)�”}”(hhh]”j)�”}”(hŒ TCP sockets”h]”hŒ TCP sockets”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŠhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjýRubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒudp”h]”hŒudp”…”�”}”(hj:Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‹hj7Subah}”(h]”h ]”h"]”h$]”h&]”uh1jhj4Subj)�”}”(hhh]”j)�”}”(hŒ UDP sockets”h]”hŒ UDP sockets”…”�”}”(hjQSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‹hjNSubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj4Subeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒunix”h]”hŒunix”…”�”}”(hjqSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŒhjnSubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkSubj)�”}”(hhh]”j)�”}”(hŒUNIX domain sockets”h]”hŒUNIX domain sockets”…”�”}”(hjˆSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŒhj…Subah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkSubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒwireless”h]”hŒwireless”…”�”}”(hj¨Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hj¥Subah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢Subj)�”}”(hhh]”j)�”}”(hŒ%Wireless interface data (Wavelan etc)”h]”hŒ%Wireless interface data (Wavelan etc)”…”�”}”(hj¿Sh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hj¼Subah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢Subeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒigmp”h]”hŒigmp”…”�”}”(hjßSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŽhjÜSubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙSubj)�”}”(hhh]”j)�”}”(hŒ.IP multicast addresses, which this host joined”h]”hŒ.IP multicast addresses, which this host joined”…”�”}”(hjöSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŽhjóSubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÙSubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpsched”h]”hŒpsched”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hjTubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjTubj)�”}”(hhh]”j)�”}”(hŒ#Global packet scheduler parameters.”h]”hŒ#Global packet scheduler parameters.”…”�”}”(hj-Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hj*Tubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjTubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒnetlink”h]”hŒnetlink”…”�”}”(hjMTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hjJTubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjGTubj)�”}”(hhh]”j)�”}”(hŒList of PF_NETLINK sockets”h]”hŒList of PF_NETLINK sockets”…”�”}”(hjdTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hjaTubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjGTubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ ip_mr_vifs”h]”hŒ ip_mr_vifs”…”�”}”(hj„Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‘hj�Tubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~Tubj)�”}”(hhh]”j)�”}”(hŒ$List of multicast virtual interfaces”h]”hŒ$List of multicast virtual interfaces”…”�”}”(hj›Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‘hj˜Tubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~Tubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ ip_mr_cache”h]”hŒ ip_mr_cache”…”�”}”(hj»Th²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M’hj¸Tubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjµTubj)�”}”(hhh]”j)�”}”(hŒList of multicast routing cache”h]”hŒList of multicast routing cache”…”�”}”(hjÒTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M’hjÏTubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjµTubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjŠOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj3Oubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj"Oubeh}”(h]”Œid15”ah ]”h"]”h$]”h&]”uh1hÝhj•Lh²hh³hÇh´Nubj)�”}”(hŒ�You can use this information to see which network devices are available in your system and how much traffic was routed over those devices::”h]”hŒŽYou can use this information to see which network devices are available in your system and how much traffic was routed over those devices:”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M•hj•Lh²hubj6 )�”}”(hX}> cat /proc/net/dev Inter-|Receive |[... face |bytes packets errs drop fifo frame compressed multicast|[... lo: 908188 5596 0 0 0 0 0 0 [... ppp0:15475140 20721 410 0 0 410 0 0 [... eth0: 614530 7085 0 0 0 0 0 1 [... ...] Transmit ...] bytes packets errs drop fifo colls carrier compressed ...] 908188 5596 0 0 0 0 0 0 ...] 1375103 17405 0 0 0 0 0 0 ...] 1703981 5535 0 0 0 3 0 0”h]”hX}> cat /proc/net/dev Inter-|Receive |[... face |bytes packets errs drop fifo frame compressed multicast|[... lo: 908188 5596 0 0 0 0 0 0 [... ppp0:15475140 20721 410 0 0 410 0 0 [... eth0: 614530 7085 0 0 0 0 0 1 [... ...] Transmit ...] bytes packets errs drop fifo colls carrier compressed ...] 908188 5596 0 0 0 0 0 0 ...] 1375103 17405 0 0 0 0 0 0 ...] 1703981 5535 0 0 0 3 0 0”…”�”}”hjUsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M˜hj•Lh²hubj)�”}”(hX>In addition, each Channel Bond interface has its own directory. For example, the bond0 device will have a directory called /proc/net/bond0/. It will contain information that is specific to that bond, such as the current slaves of the bond, the link status of the slaves, and how many times the slaves link has failed.”h]”hX>In addition, each Channel Bond interface has its own directory. For example, the bond0 device will have a directory called /proc/net/bond0/. It will contain information that is specific to that bond, such as the current slaves of the bond, the link status of the slaves, and how many times the slaves link has failed.”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¥hj•Lh²hubeh}”(h]”Œnetworking-info-in-proc-net”ah ]”h"]”Œ 1.3 networking info in /proc/net”ah$]”h&]”uh1hÈhjUh²hh³hÇh´M\ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ 1.4 SCSI info”h]”hŒ 1.4 SCSI info”…”�”}”(hj5Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj2Uh²hh³hÇh´M¬ubj)�”}”(hŒÎIf you have a SCSI or ATA host adapter in your system, you'll find a subdirectory named after the driver for this adapter in /proc/scsi. You'll also see a list of all recognized SCSI devices in /proc/scsi::”h]”hŒÑIf you have a SCSI or ATA host adapter in your system, you’ll find a subdirectory named after the driver for this adapter in /proc/scsi. You’ll also see a list of all recognized SCSI devices in /proc/scsi:”…”�”}”(hjCUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M®hj2Uh²hubj6 )�”}”(hXb>cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: IBM Model: DGHS09U Rev: 03E0 Type: Direct-Access ANSI SCSI revision: 03 Host: scsi0 Channel: 00 Id: 06 Lun: 00 Vendor: PIONEER Model: CD-ROM DR-U06S Rev: 1.04 Type: CD-ROM ANSI SCSI revision: 02”h]”hXb>cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: IBM Model: DGHS09U Rev: 03E0 Type: Direct-Access ANSI SCSI revision: 03 Host: scsi0 Channel: 00 Id: 06 Lun: 00 Vendor: PIONEER Model: CD-ROM DR-U06S Rev: 1.04 Type: CD-ROM ANSI SCSI revision: 02”…”�”}”hjQUsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M²hj2Uh²hubj)�”}”(hXSThe directory named after the driver has one file for each adapter found in the system. These files contain information about the controller, including the used IRQ and the IO address range. The amount of information shown is dependent on the adapter you use. The example shows the output for an Adaptec AHA-2940 SCSI adapter::”h]”hXRThe directory named after the driver has one file for each adapter found in the system. These files contain information about the controller, including the used IRQ and the IO address range. The amount of information shown is dependent on the adapter you use. The example shows the output for an Adaptec AHA-2940 SCSI adapter:”…”�”}”(hj_Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¼hj2Uh²hubj6 )�”}”(hXê> cat /proc/scsi/aic7xxx/0 Adaptec AIC7xxx driver version: 5.1.19/3.2.4 Compile Options: TCQ Enabled By Default : Disabled AIC7XXX_PROC_STATS : Disabled AIC7XXX_RESET_DELAY : 5 Adapter Configuration: SCSI Adapter: Adaptec AHA-294X Ultra SCSI host adapter Ultra Wide Controller PCI MMAPed I/O Base: 0xeb001000 Adapter SEEPROM Config: SEEPROM found and used. Adaptec SCSI BIOS: Enabled IRQ: 10 SCBs: Active 0, Max Active 2, Allocated 15, HW 16, Page 255 Interrupts: 160328 BIOS Control Word: 0x18b6 Adapter Control Word: 0x005b Extended Translation: Enabled Disconnect Enable Flags: 0xffff Ultra Enable Flags: 0x0001 Tag Queue Enable Flags: 0x0000 Ordered Queue Tag Flags: 0x0000 Default Tag Queue Depth: 8 Tagged Queue By Device array for aic7xxx host instance 0: {255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255} Actual queue depth per device for aic7xxx host instance 0: {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} Statistics: (scsi0:0:0:0) Device using Wide/Sync transfers at 40.0 MByte/sec, offset 8 Transinfo settings: current(12/8/1/0), goal(12/8/1/0), user(12/15/1/0) Total transfers 160151 (74577 reads and 85574 writes) (scsi0:0:6:0) Device using Narrow/Sync transfers at 5.0 MByte/sec, offset 15 Transinfo settings: current(50/15/0/0), goal(50/15/0/0), user(50/15/0/0) Total transfers 0 (0 reads and 0 writes)”h]”hXê> cat /proc/scsi/aic7xxx/0 Adaptec AIC7xxx driver version: 5.1.19/3.2.4 Compile Options: TCQ Enabled By Default : Disabled AIC7XXX_PROC_STATS : Disabled AIC7XXX_RESET_DELAY : 5 Adapter Configuration: SCSI Adapter: Adaptec AHA-294X Ultra SCSI host adapter Ultra Wide Controller PCI MMAPed I/O Base: 0xeb001000 Adapter SEEPROM Config: SEEPROM found and used. Adaptec SCSI BIOS: Enabled IRQ: 10 SCBs: Active 0, Max Active 2, Allocated 15, HW 16, Page 255 Interrupts: 160328 BIOS Control Word: 0x18b6 Adapter Control Word: 0x005b Extended Translation: Enabled Disconnect Enable Flags: 0xffff Ultra Enable Flags: 0x0001 Tag Queue Enable Flags: 0x0000 Ordered Queue Tag Flags: 0x0000 Default Tag Queue Depth: 8 Tagged Queue By Device array for aic7xxx host instance 0: {255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255} Actual queue depth per device for aic7xxx host instance 0: {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} Statistics: (scsi0:0:0:0) Device using Wide/Sync transfers at 40.0 MByte/sec, offset 8 Transinfo settings: current(12/8/1/0), goal(12/8/1/0), user(12/15/1/0) Total transfers 160151 (74577 reads and 85574 writes) (scsi0:0:6:0) Device using Narrow/Sync transfers at 5.0 MByte/sec, offset 15 Transinfo settings: current(50/15/0/0), goal(50/15/0/0), user(50/15/0/0) Total transfers 0 (0 reads and 0 writes)”…”�”}”hjmUsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MÂhj2Uh²hubeh}”(h]”Œ scsi-info”ah ]”h"]”Œ 1.4 scsi info”ah$]”h&]”uh1hÈhjUh²hh³hÇh´M¬ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ'1.5 Parallel port info in /proc/parport”h]”hŒ'1.5 Parallel port info in /proc/parport”…”�”}”(hj†Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjƒUh²hh³hÇh´Mëubj)�”}”(hŒ±The directory /proc/parport contains information about the parallel ports of your system. It has one subdirectory for each port, named after the port number (0,1,2,...).”h]”hŒ±The directory /proc/parport contains information about the parallel ports of your system. It has one subdirectory for each port, named after the port number (0,1,2,...).”…”�”}”(hj”Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MíhjƒUh²hubj)�”}”(hŒ=These directories contain the four files shown in Table 1-10.”h]”hŒ=These directories contain the four files shown in Table 1-10.”…”�”}”(hj¢Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MñhjƒUh²hubhÞ)�”}”(hhh]”(hÎ)�”}”(hŒ"Table 1-10: Files in /proc/parport”h]”hŒ"Table 1-10: Files in /proc/parport”…”�”}”(hj³Uh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍh³hÇh´Môhj°Uubhã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1hçhjÁUubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”KDuh1hçhjÁUubjº)�”}”(hhh]”j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒFile”h]”hŒFile”…”�”}”(hjáUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M÷hjÞUubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛUubj)�”}”(hhh]”j)�”}”(hŒContent”h]”hŒContent”…”�”}”(hjøUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M÷hjõUubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjØUubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjÁUubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ autoprobe”h]”hŒ autoprobe”…”�”}”(hj!Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MùhjVubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjVubj)�”}”(hhh]”j)�”}”(hŒ;Any IEEE-1284 device ID information that has been acquired.”h]”hŒ;Any IEEE-1284 device ID information that has been acquired.”…”�”}”(hj8Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mùhj5Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjVubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdevices”h]”hŒdevices”…”�”}”(hjXVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MúhjUVubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjRVubj)�”}”(hhh]”j)�”}”(hŒ‘list of the device drivers using that port. A + will appear by the name of the device currently using the port (it might not appear against any).”h]”hŒ‘list of the device drivers using that port. A + will appear by the name of the device currently using the port (it might not appear against any).”…”�”}”(hjoVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MúhjlVubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjRVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjVubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒhardware”h]”hŒhardware”…”�”}”(hj�Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MýhjŒVubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‰Vubj)�”}”(hhh]”j)�”}”(hŒ7Parallel port's base address, IRQ line and DMA channel.”h]”hŒ9Parallel port’s base address, IRQ line and DMA channel.”…”�”}”(hj¦Vh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mýhj£Vubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‰Vubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjVubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒirq”h]”hŒirq”…”�”}”(hjÆVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MþhjÃVubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÀVubj)�”}”(hhh]”j)�”}”(hŒŒIRQ that parport is using for that port. This is in a separate file to allow you to alter it by writing a new value in (IRQ number or none).”h]”hŒŒIRQ that parport is using for that port. This is in a separate file to allow you to alter it by writing a new value in (IRQ number or none).”…”�”}”(hjÝVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MþhjÚVubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÀVubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjVubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjÁUubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj°Uubeh}”(h]”Œid16”ah ]”h"]”h$]”h&]”uh1hÝhjƒUh²hh³hÇh´Nubeh}”(h]”Œ"parallel-port-info-in-proc-parport”ah ]”h"]”Œ'1.5 parallel port info in /proc/parport”ah$]”h&]”uh1hÈhjUh²hh³hÇh´MëubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ1.6 TTY info in /proc/tty”h]”hŒ1.6 TTY info in /proc/tty”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjWh²hh³hÇh´Mubj)�”}”(hŒÅInformation about the available and actually used tty's can be found in the directory /proc/tty. You'll find entries for drivers and line disciplines in this directory, as shown in Table 1-11.”h]”hŒÉInformation about the available and actually used tty’s can be found in the directory /proc/tty. You’ll find entries for drivers and line disciplines in this directory, as shown in Table 1-11.”…”�”}”(hj$Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjWh²hubhÞ)�”}”(hhh]”(hÎ)�”}”(hŒTable 1-11: Files in /proc/tty”h]”hŒTable 1-11: Files in /proc/tty”…”�”}”(hj5Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍh³hÇh´M hj2Wubhã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1hçhjCWubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K.uh1hçhjCWubjº)�”}”(hhh]”j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒFile”h]”hŒFile”…”�”}”(hjcWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj`Wubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj]Wubj)�”}”(hhh]”j)�”}”(hŒContent”h]”hŒContent”…”�”}”(hjzWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjwWubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj]Wubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjZWubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hjCWubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdrivers”h]”hŒdrivers”…”�”}”(hj£Wh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj Wubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�Wubj)�”}”(hhh]”j)�”}”(hŒlist of drivers and their usage”h]”hŒlist of drivers and their usage”…”�”}”(hjºWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj·Wubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�Wubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjšWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒldiscs”h]”hŒldiscs”…”�”}”(hjÚWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj×Wubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔWubj)�”}”(hhh]”j)�”}”(hŒregistered line disciplines”h]”hŒregistered line disciplines”…”�”}”(hjñWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjîWubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÔWubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjšWubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ driver/serial”h]”hŒ driver/serial”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Xubj)�”}”(hhh]”j)�”}”(hŒ.usage statistic and status of single tty lines”h]”hŒ.usage statistic and status of single tty lines”…”�”}”(hj(Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj%Xubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj Xubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjšWubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjCWubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj2Wubeh}”(h]”Œid17”ah ]”h"]”h$]”h&]”uh1hÝhjWh²hh³hÇh´Nubj)�”}”(hŒbTo see which tty's are currently in use, you can simply look into the file /proc/tty/drivers::”h]”hŒcTo see which tty’s are currently in use, you can simply look into the file /proc/tty/drivers:”…”�”}”(hjVXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjWh²hubj6 )�”}”(hXš> cat /proc/tty/drivers pty_slave /dev/pts 136 0-255 pty:slave pty_master /dev/ptm 128 0-255 pty:master pty_slave /dev/ttyp 3 0-255 pty:slave pty_master /dev/pty 2 0-255 pty:master serial /dev/cua 5 64-67 serial:callout serial /dev/ttyS 4 64-67 serial /dev/tty0 /dev/tty0 4 0 system:vtmaster /dev/ptmx /dev/ptmx 5 2 system /dev/console /dev/console 5 1 system:console /dev/tty /dev/tty 5 0 system:/dev/tty unknown /dev/tty 4 1-63 console”h]”hXš> cat /proc/tty/drivers pty_slave /dev/pts 136 0-255 pty:slave pty_master /dev/ptm 128 0-255 pty:master pty_slave /dev/ttyp 3 0-255 pty:slave pty_master /dev/pty 2 0-255 pty:master serial /dev/cua 5 64-67 serial:callout serial /dev/ttyS 4 64-67 serial /dev/tty0 /dev/tty0 4 0 system:vtmaster /dev/ptmx /dev/ptmx 5 2 system /dev/console /dev/console 5 1 system:console /dev/tty /dev/tty 5 0 system:/dev/tty unknown /dev/tty 4 1-63 console”…”�”}”hjdXsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MhjWh²hubeh}”(h]”Œtty-info-in-proc-tty”ah ]”h"]”Œ1.6 tty info in /proc/tty”ah$]”h&]”uh1hÈhjUh²hh³hÇh´MubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ11.7 Miscellaneous kernel statistics in /proc/stat”h]”hŒ11.7 Miscellaneous kernel statistics in /proc/stat”…”�”}”(hj}Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjzXh²hh³hÇh´M'ubj)�”}”(hŒåVarious pieces of information about kernel activity are available in the /proc/stat file. All of the numbers reported in this file are aggregates since the system first booted. For a quick look, simply cat the file::”h]”hŒäVarious pieces of information about kernel activity are available in the /proc/stat file. All of the numbers reported in this file are aggregates since the system first booted. For a quick look, simply cat the file:”…”�”}”(hj‹Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M)hjzXh²hubj6 )�”}”(hX{> cat /proc/stat cpu 237902850 368826709 106375398 1873517540 1135548 0 14507935 0 0 0 cpu0 60045249 91891769 26331539 468411416 495718 0 5739640 0 0 0 cpu1 59746288 91759249 26609887 468860630 312281 0 4384817 0 0 0 cpu2 59489247 92985423 26904446 467808813 171668 0 2268998 0 0 0 cpu3 58622065 92190267 26529524 468436680 155879 0 2114478 0 0 0 intr 8688370575 8 3373 0 0 0 0 0 0 1 40791 0 0 353317 0 0 0 0 224789828 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190974333 41958554 123983334 43 0 224593 0 0 0 ctxt 22848221062 btime 1605316999 processes 746787147 procs_running 2 procs_blocked 0 softirq 12121874454 100099120 3938138295 127375644 2795979 187870761 0 173808342 3072582055 52608 224184354”h]”hX{> cat /proc/stat cpu 237902850 368826709 106375398 1873517540 1135548 0 14507935 0 0 0 cpu0 60045249 91891769 26331539 468411416 495718 0 5739640 0 0 0 cpu1 59746288 91759249 26609887 468860630 312281 0 4384817 0 0 0 cpu2 59489247 92985423 26904446 467808813 171668 0 2268998 0 0 0 cpu3 58622065 92190267 26529524 468436680 155879 0 2114478 0 0 0 intr 8688370575 8 3373 0 0 0 0 0 0 1 40791 0 0 353317 0 0 0 0 224789828 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190974333 41958554 123983334 43 0 224593 0 0 0 ctxt 22848221062 btime 1605316999 processes 746787147 procs_running 2 procs_blocked 0 softirq 12121874454 100099120 3938138295 127375644 2795979 187870761 0 173808342 3072582055 52608 224184354”…”�”}”hj™Xsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M-hjzXh²hubj)�”}”(hX6The very first "cpu" line aggregates the numbers in all of the other "cpuN" lines. These numbers identify the amount of time the CPU has spent performing different kinds of work. Time units are in USER_HZ (typically hundredths of a second). The meanings of the columns are as follows, from left to right:”h]”hX>The very first “cpuâ€� line aggregates the numbers in all of the other “cpuNâ€� lines. These numbers identify the amount of time the CPU has spent performing different kinds of work. Time units are in USER_HZ (typically hundredths of a second). The meanings of the columns are as follows, from left to right:”…”�”}”(hj§Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M;hjzXh²hubjx)�”}”(hhh]”(j})�”}”(hŒ-user: normal processes executing in user mode”h]”j)�”}”(hjºXh]”hŒ-user: normal processes executing in user mode”…”�”}”(hj¼Xh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M@hj¸Xubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubj})�”}”(hŒ,nice: niced processes executing in user mode”h]”j)�”}”(hjÑXh]”hŒ,nice: niced processes executing in user mode”…”�”}”(hjÓXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MAhjÏXubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubj})�”}”(hŒ*system: processes executing in kernel mode”h]”j)�”}”(hjèXh]”hŒ*system: processes executing in kernel mode”…”�”}”(hjêXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MBhjæXubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubj})�”}”(hŒidle: twiddling thumbs”h]”j)�”}”(hjÿXh]”hŒidle: twiddling thumbs”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MChjýXubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubj})�”}”(hXTiowait: In a word, iowait stands for waiting for I/O to complete. But there are several problems: 1. CPU will not wait for I/O to complete, iowait is the time that a task is waiting for I/O to complete. When CPU goes into idle state for outstanding task I/O, another task will be scheduled on this CPU. 2. In a multi-core CPU, the task waiting for I/O to complete is not running on any CPU, so the iowait of each CPU is difficult to calculate. 3. The value of iowait field in /proc/stat will decrease in certain conditions. So, the iowait is not reliable by reading from /proc/stat.”h]”(j)�”}”(hŒaiowait: In a word, iowait stands for waiting for I/O to complete. But there are several problems:”h]”hŒaiowait: In a word, iowait stands for waiting for I/O to complete. But there are several problems:”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MDhjYubjŸ0)�”}”(hhh]”(j})�”}”(hŒÉCPU will not wait for I/O to complete, iowait is the time that a task is waiting for I/O to complete. When CPU goes into idle state for outstanding task I/O, another task will be scheduled on this CPU.”h]”j)�”}”(hŒÉCPU will not wait for I/O to complete, iowait is the time that a task is waiting for I/O to complete. When CPU goes into idle state for outstanding task I/O, another task will be scheduled on this CPU.”h]”hŒÉCPU will not wait for I/O to complete, iowait is the time that a task is waiting for I/O to complete. When CPU goes into idle state for outstanding task I/O, another task will be scheduled on this CPU.”…”�”}”(hj-Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MGhj)Yubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj&Yubj})�”}”(hŒ‰In a multi-core CPU, the task waiting for I/O to complete is not running on any CPU, so the iowait of each CPU is difficult to calculate.”h]”j)�”}”(hŒ‰In a multi-core CPU, the task waiting for I/O to complete is not running on any CPU, so the iowait of each CPU is difficult to calculate.”h]”hŒ‰In a multi-core CPU, the task waiting for I/O to complete is not running on any CPU, so the iowait of each CPU is difficult to calculate.”…”�”}”(hjEYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MJhjAYubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj&Yubj})�”}”(hŒMThe value of iowait field in /proc/stat will decrease in certain conditions. ”h]”j)�”}”(hŒLThe value of iowait field in /proc/stat will decrease in certain conditions.”h]”hŒLThe value of iowait field in /proc/stat will decrease in certain conditions.”…”�”}”(hj]Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MLhjYYubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj&Yubeh}”(h]”h ]”h"]”h$]”h&]”jÙ0jÚ0jÛ0hjÜ0Œ.”uh1jž0hjYubj)�”}”(hŒ:So, the iowait is not reliable by reading from /proc/stat.”h]”hŒ:So, the iowait is not reliable by reading from /proc/stat.”…”�”}”(hjxYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MOhjYubeh}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubj})�”}”(hŒirq: servicing interrupts”h]”j)�”}”(hjŽYh]”hŒirq: servicing interrupts”…”�”}”(hj�Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MPhjŒYubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubj})�”}”(hŒsoftirq: servicing softirqs”h]”j)�”}”(hj¥Yh]”hŒsoftirq: servicing softirqs”…”�”}”(hj§Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MQhj£Yubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubj})�”}”(hŒsteal: involuntary wait”h]”j)�”}”(hj¼Yh]”hŒsteal: involuntary wait”…”�”}”(hj¾Yh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MRhjºYubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubj})�”}”(hŒguest: running a normal guest”h]”j)�”}”(hjÓYh]”hŒguest: running a normal guest”…”�”}”(hjÕYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MShjÑYubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubj})�”}”(hŒ"guest_nice: running a niced guest ”h]”j)�”}”(hŒ!guest_nice: running a niced guest”h]”hŒ!guest_nice: running a niced guest”…”�”}”(hjìYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MThjèYubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjµXh²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jËj;1uh1jwh³hÇh´M@hjzXh²hubj)�”}”(hX{The "intr" line gives counts of interrupts serviced since boot time, for each of the possible system interrupts. The first column is the total of all interrupts serviced including unnumbered architecture specific interrupts; each subsequent column is the total for that particular numbered interrupt. Unnumbered interrupts are not shown, only summed into the total.”h]”hXThe “intrâ€� line gives counts of interrupts serviced since boot time, for each of the possible system interrupts. The first column is the total of all interrupts serviced including unnumbered architecture specific interrupts; each subsequent column is the total for that particular numbered interrupt. Unnumbered interrupts are not shown, only summed into the total.”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MVhjzXh²hubj)�”}”(hŒKThe "ctxt" line gives the total number of context switches across all CPUs.”h]”hŒOThe “ctxtâ€� line gives the total number of context switches across all CPUs.”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M\hjzXh²hubj)�”}”(hŒ^The "btime" line gives the time at which the system booted, in seconds since the Unix epoch.”h]”hŒbThe “btimeâ€� line gives the time at which the system booted, in seconds since the Unix epoch.”…”�”}”(hj"Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M^hjzXh²hubj)�”}”(hŒ³The "processes" line gives the number of processes and threads created, which includes (but is not limited to) those created by calls to the fork() and clone() system calls.”h]”hŒ·The “processesâ€� line gives the number of processes and threads created, which includes (but is not limited to) those created by calls to the fork() and clone() system calls.”…”�”}”(hj0Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MahjzXh²hubj)�”}”(hŒ‰The "procs_running" line gives the total number of threads that are running or ready to run (i.e., the total number of runnable threads).”h]”hŒ�The “procs_runningâ€� line gives the total number of threads that are running or ready to run (i.e., the total number of runnable threads).”…”�”}”(hj>Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MehjzXh²hubj)�”}”(hŒkThe "procs_blocked" line gives the number of processes currently blocked, waiting for I/O to complete.”h]”hŒoThe “procs_blockedâ€� line gives the number of processes currently blocked, waiting for I/O to complete.”…”�”}”(hjLZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhhjzXh²hubj)�”}”(hŒèThe "softirq" line gives counts of softirqs serviced since boot time, for each of the possible system softirqs. The first column is the total of all softirqs serviced; each subsequent column is the total for that particular softirq.”h]”hŒìThe “softirqâ€� line gives counts of softirqs serviced since boot time, for each of the possible system softirqs. The first column is the total of all softirqs serviced; each subsequent column is the total for that particular softirq.”…”�”}”(hjZZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MkhjzXh²hubeh}”(h]”Œ,miscellaneous-kernel-statistics-in-proc-stat”ah ]”h"]”Œ11.7 miscellaneous kernel statistics in /proc/stat”ah$]”h&]”uh1hÈhjUh²hh³hÇh´M'ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ1.8 Ext4 file system parameters”h]”hŒ1.8 Ext4 file system parameters”…”�”}”(hjsZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjpZh²hh³hÇh´Mrubj)�”}”(hX3Information about mounted ext4 file systems can be found in /proc/fs/ext4. Each mounted filesystem will have a directory in /proc/fs/ext4 based on its device name (i.e., /proc/fs/ext4/hdc or /proc/fs/ext4/sda9 or /proc/fs/ext4/dm-0). The files in each per-device directory are shown in Table 1-12, below.”h]”hX3Information about mounted ext4 file systems can be found in /proc/fs/ext4. Each mounted filesystem will have a directory in /proc/fs/ext4 based on its device name (i.e., /proc/fs/ext4/hdc or /proc/fs/ext4/sda9 or /proc/fs/ext4/dm-0). The files in each per-device directory are shown in Table 1-12, below.”…”�”}”(hj�Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MthjpZh²hubhÞ)�”}”(hhh]”(hÎ)�”}”(hŒ,Table 1-12: Files in /proc/fs/ext4/”h]”hŒ,Table 1-12: Files in /proc/fs/ext4/”…”�”}”(hj’Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍh³hÇh´Mzhj�Zubhã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhj Zubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K:uh1hçhj Zubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒFile”h]”hŒFile”…”�”}”(hjÀZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M}hj½Zubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjºZubj)�”}”(hhh]”j)�”}”(hŒContent”h]”hŒContent”…”�”}”(hj×Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M}hjÔZubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjºZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj·Zubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ mb_groups”h]”hŒ mb_groups”…”�”}”(hj÷Zh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M~hjôZubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñZubj)�”}”(hhh]”j)�”}”(hŒ:details of multiblock allocator buddy cache of free blocks”h]”hŒ:details of multiblock allocator buddy cache of free blocks”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M~hj [ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñZubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj·Zubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj Zubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj�Zubeh}”(h]”Œid18”ah ]”h"]”h$]”h&]”uh1hÝhjpZh²hh³hÇh´Nubeh}”(h]”Œext4-file-system-parameters”ah ]”h"]”Œ1.8 ext4 file system parameters”ah$]”h&]”uh1hÈhjUh²hh³hÇh´MrubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ1.9 /proc/consoles”h]”hŒ1.9 /proc/consoles”…”�”}”(hjG[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjD[h²hh³hÇh´M‚ubj)�”}”(hŒ&Shows registered system console lines.”h]”hŒ&Shows registered system console lines.”…”�”}”(hjU[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MƒhjD[h²hubj)�”}”(hŒŽTo see which character device lines are currently used for the system console /dev/console, you may simply look into the file /proc/consoles::”h]”hŒ�To see which character device lines are currently used for the system console /dev/console, you may simply look into the file /proc/consoles:”…”�”}”(hjc[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M…hjD[h²hubj6 )�”}”(hŒg> cat /proc/consoles tty0 -WU (ECp) 4:7 ttyS0 -W- (Ep) 4:64”h]”hŒg> cat /proc/consoles tty0 -WU (ECp) 4:7 ttyS0 -W- (Ep) 4:64”…”�”}”hjq[sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MˆhjD[h²hubj)�”}”(hŒThe columns are:”h]”hŒThe columns are:”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŒhjD[h²hubhÞ)�”}”(hhh]”hã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhj�[ubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K7uh1hçhj�[ubjº)�”}”(hhh]”j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒdevice”h]”hŒdevice”…”�”}”(hj°[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hj­[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjª[ubj)�”}”(hhh]”j)�”}”(hŒname of the device”h]”hŒname of the device”…”�”}”(hjÇ[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hjÄ[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjª[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hj§[ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¹hj�[ubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ operations”h]”hŒ operations”…”�”}”(hjð[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‘hjí[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjê[ubj)�”}”(hhh]”jx)�”}”(hhh]”(j})�”}”(hŒR = can do read operations”h]”j)�”}”(hj \h]”hŒR = can do read operations”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‘hj \ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj\ubj})�”}”(hŒW = can do write operations”h]”j)�”}”(hj#\h]”hŒW = can do write operations”…”�”}”(hj%\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M’hj!\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj\ubj})�”}”(hŒU = can do unblank”h]”j)�”}”(hj:\h]”hŒU = can do unblank”…”�”}”(hj<\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M“hj8\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj\ubeh}”(h]”h ]”h"]”h$]”h&]”jËjÌuh1jwh³hÇh´M‘hj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjê[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjç[ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒflags”h]”hŒflags”…”�”}”(hjg\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M•hjd\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhja\ubj)�”}”(hhh]”jx)�”}”(hhh]”(j})�”}”(hŒE = it is enabled”h]”j)�”}”(hjƒ\h]”hŒE = it is enabled”…”�”}”(hj…\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M•hj�\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj~\ubj})�”}”(hŒC = it is preferred console”h]”j)�”}”(hjš\h]”hŒC = it is preferred console”…”�”}”(hjœ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M–hj˜\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj~\ubj})�”}”(hŒB = it is primary boot console”h]”j)�”}”(hj±\h]”hŒB = it is primary boot console”…”�”}”(hj³\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M—hj¯\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj~\ubj})�”}”(hŒ p = it is used for printk buffer”h]”j)�”}”(hjÈ\h]”hŒ p = it is used for printk buffer”…”�”}”(hjÊ\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M˜hjÆ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj~\ubj})�”}”(hŒ(b = it is not a TTY but a Braille device”h]”j)�”}”(hjß\h]”hŒ(b = it is not a TTY but a Braille device”…”�”}”(hjá\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M™hjÝ\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj~\ubj})�”}”(hŒ)a = it is safe to use when cpu is offline”h]”j)�”}”(hjö\h]”hŒ)a = it is safe to use when cpu is offline”…”�”}”(hjø\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mšhjô\ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj~\ubeh}”(h]”h ]”h"]”h$]”h&]”jËjÌuh1jwh³hÇh´M•hj{\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhja\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjç[ubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ major:minor”h]”hŒ major:minor”…”�”}”(hj#]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mœhj ]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj]ubj)�”}”(hhh]”j)�”}”(hŒ9major and minor number of the device separated by a colon”h]”hŒ9major and minor number of the device separated by a colon”…”�”}”(hj:]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mœhj7]ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj]ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjç[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj�[ubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj�[ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjD[h²hh³hÇh´Nubeh}”(h]”Œ proc-consoles”ah ]”h"]”Œ1.9 /proc/consoles”ah$]”h&]”uh1hÈhjUh²hh³hÇh´M‚ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒSummary”h]”hŒSummary”…”�”}”(hjr]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjo]h²hh³hÇh´M¡ubj)�”}”(hŒÀThe /proc file system serves information about the running system. It not only allows access to process data but also allows you to request the kernel status by reading files in the hierarchy.”h]”hŒÀThe /proc file system serves information about the running system. It not only allows access to process data but also allows you to request the kernel status by reading files in the hierarchy.”…”�”}”(hj€]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M£hjo]h²hubj)�”}”(hŒˆThe directory structure of /proc reflects the types of information and makes it easy, if not obvious, where to look for specific data.”h]”hŒˆThe directory structure of /proc reflects the types of information and makes it easy, if not obvious, where to look for specific data.”…”�”}”(hjŽ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M§hjo]h²hubeh}”(h]”Œsummary”ah ]”h"]”h$]”Œsummary”ah&]”uh1hÈhjUh²hh³hÇh´M¡jýKubeh}”(h]”Œ'chapter-1-collecting-system-information”ah ]”h"]”Œ(chapter 1: collecting system information”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´KSubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ&Chapter 2: Modifying System Parameters”h]”hŒ&Chapter 2: Modifying System Parameters”…”�”}”(hj¯]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¬]h²hh³hÇh´M«ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒIn This Chapter”h]”hŒIn This Chapter”…”�”}”(hjÀ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj½]h²hh³hÇh´M®ubjx)�”}”(hhh]”(j})�”}”(hŒDModifying kernel parameters by writing into files found in /proc/sys”h]”j)�”}”(hjÓ]h]”hŒDModifying kernel parameters by writing into files found in /proc/sys”…”�”}”(hjÕ]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M°hjÑ]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjÎ]h²hh³hÇh´Nubj})�”}”(hŒ3Exploring the files which modify certain parameters”h]”j)�”}”(hjê]h]”hŒ3Exploring the files which modify certain parameters”…”�”}”(hjì]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M±hjè]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjÎ]h²hh³hÇh´Nubj})�”}”(hŒ"Review of the /proc/sys file tree ”h]”j)�”}”(hŒ!Review of the /proc/sys file tree”h]”hŒ!Review of the /proc/sys file tree”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M²hjÿ]ubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjÎ]h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jËjÌuh1jwh³hÇh´M°hj½]h²hubjÎ)�”}”(hŒN------------------------------------------------------------------------------”h]”h}”(h]”h ]”h"]”h$]”h&]”uh1jÍh³hÇh´M´hj½]h²hubj)�”}”(hX A very interesting part of /proc is the directory /proc/sys. This is not only a source of information, it also allows you to change parameters within the kernel. Be very careful when attempting this. You can optimize your system, but you can also cause it to crash. Never alter kernel parameters on a production system. Set up a development machine and test to make sure that everything works the way you want it to. You may have no alternative but to reboot the machine once an error has been made.”h]”hX A very interesting part of /proc is the directory /proc/sys. This is not only a source of information, it also allows you to change parameters within the kernel. Be very careful when attempting this. You can optimize your system, but you can also cause it to crash. Never alter kernel parameters on a production system. Set up a development machine and test to make sure that everything works the way you want it to. You may have no alternative but to reboot the machine once an error has been made.”…”�”}”(hj'^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¶hj½]h²hubj)�”}”(hŒ·To change a value, simply echo the new value into the file. You need to be root to do this. You can create your own boot script to perform this every time your system boots.”h]”hŒ·To change a value, simply echo the new value into the file. You need to be root to do this. You can create your own boot script to perform this every time your system boots.”…”�”}”(hj5^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¾hj½]h²hubj)�”}”(hX±The files in /proc/sys can be used to fine tune and monitor miscellaneous and general things in the operation of the Linux kernel. Since some of the files can inadvertently disrupt your system, it is advisable to read both documentation and source before actually making adjustments. In any case, be very careful when writing to any of these files. The entries in /proc may change slightly between the 2.1.* and the 2.2 kernel, so if there is any doubt review the kernel documentation in the directory linux/Documentation. This chapter is heavily based on the documentation included in the pre 2.2 kernels, and became part of it in version 2.2.1 of the Linux kernel.”h]”hX±The files in /proc/sys can be used to fine tune and monitor miscellaneous and general things in the operation of the Linux kernel. Since some of the files can inadvertently disrupt your system, it is advisable to read both documentation and source before actually making adjustments. In any case, be very careful when writing to any of these files. The entries in /proc may change slightly between the 2.1.* and the 2.2 kernel, so if there is any doubt review the kernel documentation in the directory linux/Documentation. This chapter is heavily based on the documentation included in the pre 2.2 kernels, and became part of it in version 2.2.1 of the Linux kernel.”…”�”}”(hjC^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÂhj½]h²hubj)�”}”(hŒZPlease see: Documentation/admin-guide/sysctl/ directory for descriptions of these entries.”h]”hŒZPlease see: Documentation/admin-guide/sysctl/ directory for descriptions of these entries.”…”�”}”(hjQ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÌhj½]h²hubeh}”(h]”Œid1”ah ]”h"]”h$]”jûah&]”uh1hÈhj¬]h²hh³hÇh´M®jýKubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒSummary”h]”hŒSummary”…”�”}”(hji^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjf^h²hh³hÇh´MÐubj)�”}”(hXJCertain aspects of kernel behavior can be modified at runtime, without the need to recompile the kernel, or even to reboot the system. The files in the /proc/sys tree can not only be read, but also modified. You can use the echo command to write value into these files, thereby changing the default settings of the kernel.”h]”hXJCertain aspects of kernel behavior can be modified at runtime, without the need to recompile the kernel, or even to reboot the system. The files in the /proc/sys tree can not only be read, but also modified. You can use the echo command to write value into these files, thereby changing the default settings of the kernel.”…”�”}”(hjw^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÒhjf^h²hubeh}”(h]”Œid2”ah ]”h"]”h$]”j¢]ah&]”uh1hÈhj¬]h²hh³hÇh´MÐjýKubeh}”(h]”Œ%chapter-2-modifying-system-parameters”ah ]”h"]”Œ&chapter 2: modifying system parameters”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´M«ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ!Chapter 3: Per-process Parameters”h]”hŒ!Chapter 3: Per-process Parameters”…”�”}”(hj—^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj”^h²hh³hÇh´MÚubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒP3.1 /proc//oom_adj & /proc//oom_score_adj- Adjust the oom-killer score”h]”hŒP3.1 /proc//oom_adj & /proc//oom_score_adj- Adjust the oom-killer score”…”�”}”(hj¨^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¥^h²hh³hÇh´MÝubj)�”}”(hŒƒThese files can be used to adjust the badness heuristic used to select which process gets killed in out of memory (oom) conditions.”h]”hŒƒThese files can be used to adjust the badness heuristic used to select which process gets killed in out of memory (oom) conditions.”…”�”}”(hj¶^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mßhj¥^h²hubj)�”}”(hXÍThe badness heuristic assigns a value to each candidate task ranging from 0 (never kill) to 1000 (always kill) to determine which process is targeted. The units are roughly a proportion along that range of allowed memory the process may allocate from based on an estimation of its current memory and swap use. For example, if a task is using all allowed memory, its badness score will be 1000. If it is using half of its allowed memory, its score will be 500.”h]”hXÍThe badness heuristic assigns a value to each candidate task ranging from 0 (never kill) to 1000 (always kill) to determine which process is targeted. The units are roughly a proportion along that range of allowed memory the process may allocate from based on an estimation of its current memory and swap use. For example, if a task is using all allowed memory, its badness score will be 1000. If it is using half of its allowed memory, its score will be 500.”…”�”}”(hjÄ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mâhj¥^h²hubj)�”}”(hXNThe amount of "allowed" memory depends on the context in which the oom killer was called. If it is due to the memory assigned to the allocating task's cpuset being exhausted, the allowed memory represents the set of mems assigned to that cpuset. If it is due to a mempolicy's node(s) being exhausted, the allowed memory represents the set of mempolicy nodes. If it is due to a memory limit (or swap limit) being reached, the allowed memory is that configured limit. Finally, if it is due to the entire system being out of memory, the allowed memory represents all allocatable resources.”h]”hXVThe amount of “allowedâ€� memory depends on the context in which the oom killer was called. If it is due to the memory assigned to the allocating task’s cpuset being exhausted, the allowed memory represents the set of mems assigned to that cpuset. If it is due to a mempolicy’s node(s) being exhausted, the allowed memory represents the set of mempolicy nodes. If it is due to a memory limit (or swap limit) being reached, the allowed memory is that configured limit. Finally, if it is due to the entire system being out of memory, the allowed memory represents all allocatable resources.”…”�”•}”(hjÒ^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Méhj¥^h²hubj)�”}”(hXéThe value of /proc//oom_score_adj is added to the badness score before it is used to determine which task to kill. Acceptable values range from -1000 (OOM_SCORE_ADJ_MIN) to +1000 (OOM_SCORE_ADJ_MAX). This allows userspace to polarize the preference for oom killing either by always preferring a certain task or completely disabling it. The lowest possible value, -1000, is equivalent to disabling oom killing entirely for that task since it will always report a badness score of 0.”h]”hXéThe value of /proc//oom_score_adj is added to the badness score before it is used to determine which task to kill. Acceptable values range from -1000 (OOM_SCORE_ADJ_MIN) to +1000 (OOM_SCORE_ADJ_MAX). This allows userspace to polarize the preference for oom killing either by always preferring a certain task or completely disabling it. The lowest possible value, -1000, is equivalent to disabling oom killing entirely for that task since it will always report a badness score of 0.”…”�”}”(hjà^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mòhj¥^h²hubj)�”}”(hXñConsequently, it is very simple for userspace to define the amount of memory to consider for each task. Setting a /proc//oom_score_adj value of +500, for example, is roughly equivalent to allowing the remainder of tasks sharing the same system, cpuset, mempolicy, or memory controller resources to use at least 50% more memory. A value of -500, on the other hand, would be roughly equivalent to discounting 50% of the task's allowed memory from being considered as scoring against the task.”h]”hXóConsequently, it is very simple for userspace to define the amount of memory to consider for each task. Setting a /proc//oom_score_adj value of +500, for example, is roughly equivalent to allowing the remainder of tasks sharing the same system, cpuset, mempolicy, or memory controller resources to use at least 50% more memory. A value of -500, on the other hand, would be roughly equivalent to discounting 50% of the task’s allowed memory from being considered as scoring against the task.”…”�”}”(hjî^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Múhj¥^h²hubj)�”}”(hXWFor backwards compatibility with previous kernels, /proc//oom_adj may also be used to tune the badness score. Its acceptable values range from -16 (OOM_ADJUST_MIN) to +15 (OOM_ADJUST_MAX) and a special value of -17 (OOM_DISABLE) to disable oom killing entirely for that task. Its value is scaled linearly with /proc//oom_score_adj.”h]”hXWFor backwards compatibility with previous kernels, /proc//oom_adj may also be used to tune the badness score. Its acceptable values range from -16 (OOM_ADJUST_MIN) to +15 (OOM_ADJUST_MAX) and a special value of -17 (OOM_DISABLE) to disable oom killing entirely for that task. Its value is scaled linearly with /proc//oom_score_adj.”…”�”}”(hjü^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj¥^h²hubj)�”}”(hŒ®The value of /proc//oom_score_adj may be reduced no lower than the last value set by a CAP_SYS_RESOURCE process. To reduce the value any lower requires CAP_SYS_RESOURCE.”h]”hŒ®The value of /proc//oom_score_adj may be reduced no lower than the last value set by a CAP_SYS_RESOURCE process. To reduce the value any lower requires CAP_SYS_RESOURCE.”…”�”}”(hj _h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj¥^h²hubeh}”(h]”ŒCproc-pid-oom-adj-proc-pid-oom-score-adj-adjust-the-oom-killer-score”ah ]”h"]”ŒP3.1 /proc//oom_adj & /proc//oom_score_adj- adjust the oom-killer score”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´MÝubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ<3.2 /proc//oom_score - Display current oom-killer score”h]”hŒ<3.2 /proc//oom_score - Display current oom-killer score”…”�”}”(hj#_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj _h²hh³hÇh´Mubj)�”}”(hŒÑThis file can be used to check the current score used by the oom-killer for any given . Use it together with /proc//oom_score_adj to tune which process should be killed in an out-of-memory situation.”h]”hŒÑThis file can be used to check the current score used by the oom-killer for any given . Use it together with /proc//oom_score_adj to tune which process should be killed in an out-of-memory situation.”…”�”}”(hj1_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj _h²hubj)�”}”(hŒbPlease note that the exported value includes oom_score_adj so it is effectively in range [0,2000].”h]”hŒbPlease note that the exported value includes oom_score_adj so it is effectively in range [0,2000].”…”�”}”(hj?_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhj _h²hubeh}”(h]”Œ3proc-pid-oom-score-display-current-oom-killer-score”ah ]”h"]”Œ<3.2 /proc//oom_score - display current oom-killer score”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´MubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ63.3 /proc//io - Display the IO accounting fields”h]”hŒ63.3 /proc//io - Display the IO accounting fields”…”�”}”(hjX_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjU_h²hh³hÇh´Mubj)�”}”(hŒ:This file contains IO statistics for each running process.”h]”hŒ:This file contains IO statistics for each running process.”…”�”}”(hjf_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MhjU_h²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒExample”h]”hŒExample”…”�”}”(hjw_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjt_h²hh³hÇh´Mubj6 )�”}”(hŒÒtest:/tmp # dd if=/dev/zero of=/tmp/test.dat & [1] 3828 test:/tmp # cat /proc/3828/io rchar: 323934931 wchar: 323929600 syscr: 632687 syscw: 632675 read_bytes: 0 write_bytes: 323932160 cancelled_write_bytes: 0”h]”hŒÒtest:/tmp # dd if=/dev/zero of=/tmp/test.dat & [1] 3828 test:/tmp # cat /proc/3828/io rchar: 323934931 wchar: 323929600 syscr: 632687 syscw: 632675 read_bytes: 0 write_bytes: 323932160 cancelled_write_bytes: 0”…”�”}”hj…_sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M"hjt_h²hubeh}”(h]”Œexample”ah ]”h"]”h$]”Œexample”ah&]”uh1hÈhjU_h²hh³hÇh´MjýKubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Description”h]”hŒ Description”…”�”}”(hjž_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj›_h²hh³hÇh´M0ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒrchar”h]”hŒrchar”…”�”}”(hj¯_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¬_h²hh³hÇh´M3ubj)�”}”(hXPI/O counter: chars read The number of bytes which this task has caused to be read from storage. This is simply the sum of bytes which this process passed to read() and pread(). It includes things like tty IO and it is unaffected by whether or not actual physical disk IO was required (the read might have been satisfied from pagecache).”h]”hXPI/O counter: chars read The number of bytes which this task has caused to be read from storage. This is simply the sum of bytes which this process passed to read() and pread(). It includes things like tty IO and it is unaffected by whether or not actual physical disk IO was required (the read might have been satisfied from pagecache).”…”�”}”(hj½_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M5hj¬_h²hubeh}”(h]”Œrchar”ah ]”h"]”Œrchar”ah$]”h&]”uh1hÈhj›_h²hh³hÇh´M3ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒwchar”h]”hŒwchar”…”�”}”(hjÖ_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÓ_h²hh³hÇh´M>ubj)�”}”(hŒšI/O counter: chars written The number of bytes which this task has caused, or shall cause to be written to disk. Similar caveats apply here as with rchar.”h]”hŒšI/O counter: chars written The number of bytes which this task has caused, or shall cause to be written to disk. Similar caveats apply here as with rchar.”…”�”}”(hjä_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M@hjÓ_h²hubeh}”(h]”Œwchar”ah ]”h"]”Œwchar”ah$]”h&]”uh1hÈhj›_h²hh³hÇh´M>ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒsyscr”h]”hŒsyscr”…”�”}”(hjý_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjú_h²hh³hÇh´MFubj)�”}”(hŒuI/O counter: read syscalls Attempt to count the number of read I/O operations, i.e. syscalls like read() and pread().”h]”hŒuI/O counter: read syscalls Attempt to count the number of read I/O operations, i.e. syscalls like read() and pread().”…”�”}”(hj `h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MHhjú_h²hubeh}”(h]”Œsyscr”ah ]”h"]”Œsyscr”ah$]”h&]”uh1hÈhj›_h²hh³hÇh´MFubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒsyscw”h]”hŒsyscw”…”�”}”(hj$`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj!`h²hh³hÇh´MNubj)�”}”(hŒyI/O counter: write syscalls Attempt to count the number of write I/O operations, i.e. syscalls like write() and pwrite().”h]”hŒyI/O counter: write syscalls Attempt to count the number of write I/O operations, i.e. syscalls like write() and pwrite().”…”�”}”(hj2`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MPhj!`h²hubeh}”(h]”Œsyscw”ah ]”h"]”Œsyscw”ah$]”h&]”uh1hÈhj›_h²hh³hÇh´MNubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ read_bytes”h]”hŒ read_bytes”…”�”}”(hjK`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjH`h²hh³hÇh´MVubj)�”}”(hXI/O counter: bytes read Attempt to count the number of bytes which this process really did cause to be fetched from the storage layer. Done at the submit_bio() level, so it is accurate for block-backed filesystems. ”h]”hXI/O counter: bytes read Attempt to count the number of bytes which this process really did cause to be fetched from the storage layer. Done at the submit_bio() level, so it is accurate for block-backed filesystems. ”…”�”}”(hjY`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MXhjH`h²hubeh}”(h]”Œ read-bytes”ah ]”h"]”Œ read_bytes”ah$]”h&]”uh1hÈhj›_h²hh³hÇh´MVubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ write_bytes”h]”hŒ write_bytes”…”�”}”(hjr`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjo`h²hh³hÇh´M`ubj)�”}”(hŒžI/O counter: bytes written Attempt to count the number of bytes which this process caused to be sent to the storage layer. This is done at page-dirtying time.”h]”hŒžI/O counter: bytes written Attempt to count the number of bytes which this process caused to be sent to the storage layer. This is done at page-dirtying time.”…”�”}”(hj€`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mbhjo`h²hubeh}”(h]”Œ write-bytes”ah ]”h"]”Œ write_bytes”ah$]”h&]”uh1hÈhj›_h²hh³hÇh´M`ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒcancelled_write_bytes”h]”hŒcancelled_write_bytes”…”�”}”(hj™`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj–`h²hh³hÇh´Mhubj)�”}”(hXMThe big inaccuracy here is truncate. If a process writes 1MB to a file and then deletes the file, it will in fact perform no writeout. But it will have been accounted as having caused 1MB of write. In other words: The number of bytes which this process caused to not happen, by truncating pagecache. A task can cause "negative" IO too. If this task truncates some dirty pagecache, some IO which another task has been accounted for (in its write_bytes) will not be happening. We _could_ just subtract that from the truncating task's write_bytes, but there is information loss in doing that.”h]”hXSThe big inaccuracy here is truncate. If a process writes 1MB to a file and then deletes the file, it will in fact perform no writeout. But it will have been accounted as having caused 1MB of write. In other words: The number of bytes which this process caused to not happen, by truncating pagecache. A task can cause “negativeâ€� IO too. If this task truncates some dirty pagecache, some IO which another task has been accounted for (in its write_bytes) will not be happening. We _could_ just subtract that from the truncating task’s write_bytes, but there is information loss in doing that.”…”�”}”(hj§`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mjhj–`h²hubhŒnote”“”)�”}”(hŒÝAt its current implementation state, this is a bit racy on 32-bit machines: if process A reads process B's /proc/pid/io while process B is updating one of those 64-bit counters, process A could see an intermediate result.”h]”j)�”}”(hŒÝAt its current implementation state, this is a bit racy on 32-bit machines: if process A reads process B's /proc/pid/io while process B is updating one of those 64-bit counters, process A could see an intermediate result.”h]”hŒßAt its current implementation state, this is a bit racy on 32-bit machines: if process A reads process B’s /proc/pid/io while process B is updating one of those 64-bit counters, process A could see an intermediate result.”…”�”}”(hj»`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mwhj·`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jµ`hj–`h²hh³hÇh´Nubj)�”}”(hŒhMore information about this can be found within the taskstats documentation in Documentation/accounting.”h]”hŒhMore information about this can be found within the taskstats documentation in Documentation/accounting.”…”�”}”(hjÏ`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M|hj–`h²hubeh}”(h]”Œcancelled-write-bytes”ah ]”h"]”Œcancelled_write_bytes”ah$]”h&]”uh1hÈhj›_h²hh³hÇh´Mhubeh}”(h]”Œ description”ah ]”h"]”h$]”Œ description”ah&]”uh1hÈhjU_h²hh³hÇh´M0jýKubeh}”(h]”Œ,proc-pid-io-display-the-io-accounting-fields”ah ]”h"]”Œ53.3 /proc//io - display the io accounting fields”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´MubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ>3.4 /proc//coredump_filter - Core dump filtering settings”h]”hŒ>3.4 /proc//coredump_filter - Core dump filtering settings”…”�”}”(hjø`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjõ`h²hh³hÇh´M€ubj)�”}”(hXQWhen a process is dumped, all anonymous memory is written to a core file as long as the size of the core file isn't limited. But sometimes we don't want to dump some memory segments, for example, huge shared memory or DAX. Conversely, sometimes we want to save file-backed memory segments into a core file, not only the individual files.”h]”hXUWhen a process is dumped, all anonymous memory is written to a core file as long as the size of the core file isn’t limited. But sometimes we don’t want to dump some memory segments, for example, huge shared memory or DAX. Conversely, sometimes we want to save file-backed memory segments into a core file, not only the individual files.”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hjõ`h²hubj)�”}”(hX$/proc//coredump_filter allows you to customize which memory segments will be dumped when the process is dumped. coredump_filter is a bitmask of memory types. If a bit of the bitmask is set, memory segments of the corresponding memory type are dumped, otherwise they are not dumped.”h]”hX$/proc//coredump_filter allows you to customize which memory segments will be dumped when the process is dumped. coredump_filter is a bitmask of memory types. If a bit of the bitmask is set, memory segments of the corresponding memory type are dumped, otherwise they are not dumped.”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‡hjõ`h²hubj)�”}”(hŒ+The following 9 memory types are supported:”h]”hŒ+The following 9 memory types are supported:”…”�”}”(hj"ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŒhjõ`h²hubjí$)�”}”(hX�- (bit 0) anonymous private memory - (bit 1) anonymous shared memory - (bit 2) file-backed private memory - (bit 3) file-backed shared memory - (bit 4) ELF header pages in file-backed private memory areas (it is effective only if the bit 2 is cleared) - (bit 5) hugetlb private memory - (bit 6) hugetlb shared memory - (bit 7) DAX private memory - (bit 8) DAX shared memory Note that MMIO pages such as frame buffer are never dumped and vDSO pages are always dumped regardless of the bitmask status. Note that bits 0-4 don't affect hugetlb or DAX memory. hugetlb memory is only affected by bit 5-6, and DAX is only affected by bits 7-8. ”h]”(jx)�”}”(hhh]”(j})�”}”(hŒ (bit 0) anonymous private memory”h]”j)�”}”(hj9ah]”hŒ (bit 0) anonymous private memory”…”�”}”(hj;ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŽhj7aubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj4aubj})�”}”(hŒ(bit 1) anonymous shared memory”h]”j)�”}”(hjPah]”hŒ(bit 1) anonymous shared memory”…”�”}”(hjRah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hjNaubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj4aubj})�”}”(hŒ"(bit 2) file-backed private memory”h]”j)�”}”(hjgah]”hŒ"(bit 2) file-backed private memory”…”�”}”(hjiah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hjeaubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj4aubj})�”}”(hŒ!(bit 3) file-backed shared memory”h]”j)�”}”(hj~ah]”hŒ!(bit 3) file-backed shared memory”…”�”}”(hj€ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‘hj|aubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj4aubj})�”}”(hŒk(bit 4) ELF header pages in file-backed private memory areas (it is effective only if the bit 2 is cleared)”h]”j)�”}”(hŒk(bit 4) ELF header pages in file-backed private memory areas (it is effective only if the bit 2 is cleared)”h]”hŒk(bit 4) ELF header pages in file-backed private memory areas (it is effective only if the bit 2 is cleared)”…”�”}”(hj—ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M’hj“aubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj4aubj})�”}”(hŒ(bit 5) hugetlb private memory”h]”j)�”}”(hj­ah]”hŒ(bit 5) hugetlb private memory”…”�”}”(hj¯ah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M”hj«aubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj4aubj})�”}”(hŒ(bit 6) hugetlb shared memory”h]”j)�”}”(hjÄah]”hŒ(bit 6) hugetlb shared memory”…”�”}”(hjÆah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M•hjÂaubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj4aubj})�”}”(hŒ(bit 7) DAX private memory”h]”j)�”}”(hjÛah]”hŒ(bit 7) DAX private memory”…”�”}”(hjÝah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M–hjÙaubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj4aubj})�”}”(hŒ(bit 8) DAX shared memory ”h]”j)�”}”(hŒ(bit 8) DAX shared memory”h]”hŒ(bit 8) DAX shared memory”…”�”}”(hjôah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M—hjðaubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj4aubeh}”(h]”h ]”h"]”h$]”h&]”jËj;1uh1jwh³hÇh´MŽhj0aubj)�”}”(hŒ}Note that MMIO pages such as frame buffer are never dumped and vDSO pages are always dumped regardless of the bitmask status.”h]”hŒ}Note that MMIO pages such as frame buffer are never dumped and vDSO pages are always dumped regardless of the bitmask status.”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M™hj0aubj)�”}”(hŒˆNote that bits 0-4 don't affect hugetlb or DAX memory. hugetlb memory is only affected by bit 5-6, and DAX is only affected by bits 7-8.”h]”hŒŠNote that bits 0-4 don’t affect hugetlb or DAX memory. hugetlb memory is only affected by bit 5-6, and DAX is only affected by bits 7-8.”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mœhj0aubeh}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´MŽhjõ`h²hubj)�”}”(hŒ�The default value of coredump_filter is 0x33; this means all anonymous memory segments, ELF header pages and hugetlb private memory are dumped.”h]”hŒ�The default value of coredump_filter is 0x33; this means all anonymous memory segments, ELF header pages and hugetlb private memory are dumped.”…”�”}”(hj0bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŸhjõ`h²hubj)�”}”(hŒrIf you don't want to dump all shared memory segments attached to pid 1234, write 0x31 to the process's proc file::”h]”hŒuIf you don’t want to dump all shared memory segments attached to pid 1234, write 0x31 to the process’s proc file:”…”�”}”(hj>bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¢hjõ`h²hubj6 )�”}”(hŒ($ echo 0x31 > /proc/1234/coredump_filter”h]”hŒ($ echo 0x31 > /proc/1234/coredump_filter”…”�”}”hjLbsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M¥hjõ`h²hubj)�”}”(hŒ¥When a new process is created, the process inherits the bitmask status from its parent. It is useful to set up coredump_filter before the program runs. For example::”h]”hŒ¤When a new process is created, the process inherits the bitmask status from its parent. It is useful to set up coredump_filter before the program runs. For example:”…”�”}”(hjZbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M§hjõ`h²hubj6 )�”}”(hŒ8$ echo 0x7 > /proc/self/coredump_filter $ ./some_program”h]”hŒ8$ echo 0x7 > /proc/self/coredump_filter $ ./some_program”…”�”}”hjhbsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M«hjõ`h²hubeh}”(h]”Œ5proc-pid-coredump-filter-core-dump-filtering-settings”ah ]”h"]”Œ>3.4 /proc//coredump_filter - core dump filtering settings”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´M€ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ83.5 /proc//mountinfo - Information about mounts”h]”hŒ83.5 /proc//mountinfo - Information about mounts”…”�”}”(hj�bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj~bh²hh³hÇh´M¯ubj)�”}”(hŒ&This file contains lines of the form::”h]”hŒ%This file contains lines of the form:”…”�”}”(hj�bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M±hj~bh²hubj6 )�”}”(hX^36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue (1)(2)(3) (4) (5) (6) (n…m) (m+1)(m+2) (m+3) (m+4) (1) mount ID: unique identifier of the mount (may be reused after umount) (2) parent ID: ID of parent (or of self for the top of the mount tree) (3) major:minor: value of st_dev for files on filesystem (4) root: root of the mount within the filesystem (5) mount point: mount point relative to the process's root (6) mount options: per mount options (n…m) optional fields: zero or more fields of the form "tag[:value]" (m+1) separator: marks the end of the optional fields (m+2) filesystem type: name of filesystem of the form "type[.subtype]" (m+3) mount source: filesystem specific information or "none" (m+4) super options: per super block options”h]”hX^36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue (1)(2)(3) (4) (5) (6) (n…m) (m+1)(m+2) (m+3) (m+4) (1) mount ID: unique identifier of the mount (may be reused after umount) (2) parent ID: ID of parent (or of self for the top of the mount tree) (3) major:minor: value of st_dev for files on filesystem (4) root: root of the mount within the filesystem (5) mount point: mount point relative to the process's root (6) mount options: per mount options (n…m) optional fields: zero or more fields of the form "tag[:value]" (m+1) separator: marks the end of the optional fields (m+2) filesystem type: name of filesystem of the form "type[.subtype]" (m+3) mount source: filesystem specific information or "none" (m+4) super options: per super block options”…”�”}”hj�bsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M³hj~bh²hubj)�”}”(hŒdParsers should ignore all unrecognised optional fields. Currently the possible optional fields are:”h]”hŒdParsers should ignore all unrecognised optional fields. Currently the possible optional fields are:”…”�”}”(hj«bh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÂhj~bh²hubhÞ)�”}”(hhh]”hã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1hçhj¼bubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K>uh1hçhj¼bubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒshared:X”h]”hŒshared:X”…”�”}”(hjÜbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÆhjÙbubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÖbubj)�”}”(hhh]”j)�”}”(hŒmount is shared in peer group X”h]”hŒmount is shared in peer group X”…”�”}”(hjóbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÆhjðbubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÖbubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjÓbubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒmaster:X”h]”hŒmaster:X”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÇhjcubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj cubj)�”}”(hhh]”j)�”}”(hŒmount is slave to peer group X”h]”hŒmount is slave to peer group X”…”�”}”(hj*ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÇhj'cubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj cubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjÓbubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpropagate_from:X”h]”hŒpropagate_from:X”…”�”}”(hjJch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÈhjGcubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjDcubj)�”}”(hhh]”j)�”}”(hŒ>mount is slave and receives propagation from peer group X [#]_”h]”(hŒ:mount is slave and receives propagation from peer group X ”…”�”}”(hjach²hh³Nh´NubhŒfootnote_reference”“”)�”}”(hŒ[#]_”h]”hŒ1”…”�”}”(hjkch²hh³Nh´Nubah}”(h]”Œid3”ah ]”h"]”h$]”h&]”Œauto”KŒrefid”Œid4”Œdocname”Œfilesystems/proc”uh1jichjacŒresolved”Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÈhj^cubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjDcubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjÓbubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒ unbindable”h]”hŒ unbindable”…”�”}”(hj˜ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÉhj•cubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj’cubj)�”}”(hhh]”j)�”}”(hŒmount is unbindable”h]”hŒmount is unbindable”…”�”}”(hj¯ch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÉhj¬cubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj’cubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjÓbubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhj¼bubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhj¹bubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhj~bh²hh³hÇh´NubhŒfootnote”“”)�”}”(hŒõX is the closest dominant peer group under the process's root. If X is the immediate master of the mount, or if there's no dominant peer group under the same root, then only the "master:X" field is present and not the "propagate_from:X" field. ”h]”(hŒlabel”“”)�”}”(hhh]”hŒ1”…”�”}”(hjäch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâchjÞch²hh³Nh´Nubj)�”}”(hŒôX is the closest dominant peer group under the process's root. If X is the immediate master of the mount, or if there's no dominant peer group under the same root, then only the "master:X" field is present and not the "propagate_from:X" field.”h]”hXX is the closest dominant peer group under the process’s root. If X is the immediate master of the mount, or if there’s no dominant peer group under the same root, then only the “master:Xâ€� field is present and not the “propagate_from:Xâ€� field.”…”�”}”(hjñch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÌhjÞcubeh}”(h]”j|cah ]”h"]”Œ1”ah$]”h&]”jucajzcKj}cj~cuh1jÜch³hÇh´MÌhj~bh²hubj)�”}”(hŒ.For more information on mount propagation see:”h]”hŒ.For more information on mount propagation see:”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÑhj~bh²hubjí$)�”}”(hŒ-Documentation/filesystems/sharedsubtree.rst ”h]”j)�”}”(hŒ+Documentation/filesystems/sharedsubtree.rst”h]”hŒ+Documentation/filesystems/sharedsubtree.rst”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÓhjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´MÓhj~bh²hubeh}”(h]”Œ+proc-pid-mountinfo-information-about-mounts”ah ]”h"]”Œ43.5 /proc//mountinfo - information about mounts”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´M¯ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ73.6 /proc//comm & /proc//task//comm”h]”hŒ73.6 /proc//comm & /proc//task//comm”…”�”}”(hj7dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj4dh²hh³hÇh´M×ubj)�”}”(hXdThese files provide a method to access a task's comm value. It also allows for a task to set its own or one of its thread siblings comm value. The comm value is limited in size compared to the cmdline value, so writing anything longer then the kernel's TASK_COMM_LEN (currently 16 chars, including the NUL terminator) will result in a truncated comm value.”h]”hXhThese files provide a method to access a task’s comm value. It also allows for a task to set its own or one of its thread siblings comm value. The comm value is limited in size compared to the cmdline value, so writing anything longer then the kernel’s TASK_COMM_LEN (currently 16 chars, including the NUL terminator) will result in a truncated comm value.”…”�”}”(hjEdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MØhj4dh²hubeh}”(h]”Œ$proc-pid-comm-proc-pid-task-tid-comm”ah ]”h"]”Œ23.6 /proc//comm & /proc//task//comm”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´M×ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒI3.7 /proc//task//children - Information about task children”h]”hŒI3.7 /proc//task//children - Information about task children”…”�”}”(hj^dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj[dh²hh³hÇh´Màubj)�”}”(hŒšThis file provides a fast way to retrieve first level children pids of a task pointed by / pair. The format is a space separated stream of pids.”h]”hŒšThis file provides a fast way to retrieve first level children pids of a task pointed by / pair. The format is a space separated stream of pids.”…”�”}”(hjldh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Máhj[dh²hubj)�”}”(hŒ²Note the "first level" here -- if a child has its own children they will not be listed here; one needs to read /proc//task//children to obtain the descendants.”h]”hŒ¶Note the “first levelâ€� here -- if a child has its own children they will not be listed here; one needs to read /proc//task//children to obtain the descendants.”…”�”}”(hjzdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Måhj[dh²hubj)�”}”(hX(Since this interface is intended to be fast and cheap it doesn't guarantee to provide precise results and some children might be skipped, especially if they've exited right after we printed their pids, so one needs to either stop or freeze processes being inspected if precise results are needed.”h]”hX,Since this interface is intended to be fast and cheap it doesn’t guarantee to provide precise results and some children might be skipped, especially if they’ve exited right after we printed their pids, so one needs to either stop or freeze processes being inspected if precise results are needed.”…”�”}”(hjˆdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Méhj[dh²hubeh}”(h]”Œ:proc-pid-task-tid-children-information-about-task-children”ah ]”h"]”ŒE3.7 /proc//task//children - information about task children”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´MàubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ?3.8 /proc//fdinfo/ - Information about opened file”h]”hŒ?3.8 /proc//fdinfo/ - Information about opened file”…”�”}”(hj¡dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjždh²hh³hÇh´Mñubj)�”}”(hXThis file provides information associated with an opened file. The regular files have at least four fields -- 'pos', 'flags', 'mnt_id' and 'ino'. The 'pos' represents the current offset of the opened file in decimal form [see lseek(2) for details], 'flags' denotes the octal O_xxx mask the file has been created with [see open(2) for details] and 'mnt_id' represents mount ID of the file system containing the opened file [see 3.5 /proc//mountinfo for details]. 'ino' represents the inode number of the file.”h]”hX!This file provides information associated with an opened file. The regular files have at least four fields -- ‘pos’, ‘flags’, ‘mnt_id’ and ‘ino’. The ‘pos’ represents the current offset of the opened file in decimal form [see lseek(2) for details], ‘flags’ denotes the octal O_xxx mask the file has been created with [see open(2) for details] and ‘mnt_id’ represents mount ID of the file system containing the opened file [see 3.5 /proc//mountinfo for details]. ‘ino’ represents the inode number of the file.”…”�”}”(hj¯dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mòhjždh²hubj)�”}”(hŒA typical output is::”h]”hŒA typical output is:”…”�”}”(hj½dh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mûhjždh²hubj6 )�”}”(hŒ2pos: 0 flags: 0100002 mnt_id: 19 ino: 63107”h]”hŒ2pos: 0 flags: 0100002 mnt_id: 19 ino: 63107”…”�”}”hjËdsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´Mýhjždh²hubj)�”}”(hŒIAll locks associated with a file descriptor are shown in its fdinfo too::”h]”hŒHAll locks associated with a file descriptor are shown in its fdinfo too:”…”�”}”(hjÙdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjždh²hubj6 )�”}”(hŒ;lock: 1: FLOCK ADVISORY WRITE 359 00:13:11691 0 EOF”h]”hŒ;lock: 1: FLOCK ADVISORY WRITE 359 00:13:11691 0 EOF”…”�”}”hjçdsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´Mhjždh²hubj)�”}”(hŒžThe files such as eventfd, fsnotify, signalfd, epoll among the regular pos/flags pair provide additional information particular to the objects they represent.”h]”hŒžThe files such as eventfd, fsnotify, signalfd, epoll among the regular pos/flags pair provide additional information particular to the objects they represent.”…”�”}”(hjõdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjždh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Eventfd files”h]”hŒ Eventfd files”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjeh²hh³hÇh´M ubj6 )�”}”(hŒBpos: 0 flags: 04002 mnt_id: 9 ino: 63107 eventfd-count: 5a”h]”hŒBpos: 0 flags: 04002 mnt_id: 9 ino: 63107 eventfd-count: 5a”…”�”}”hjesbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´Mhjeh²hubj)�”}”(hŒ0where 'eventfd-count' is hex value of a counter.”h]”hŒ4where ‘eventfd-count’ is hex value of a counter.”…”�”}”(hj"eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mhjeh²hubeh}”(h]”Œ eventfd-files”ah ]”h"]”Œ eventfd files”ah$]”h&]”uh1hÈhjždh²hh³hÇh´M ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒSignalfd files”h]”hŒSignalfd files”…”�”}”(hj;eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj8eh²hh³hÇh´Mubj6 )�”}”(hŒPpos: 0 flags: 04002 mnt_id: 9 ino: 63107 sigmask: 0000000000000200”h]”hŒPpos: 0 flags: 04002 mnt_id: 9 ino: 63107 sigmask: 0000000000000200”…”�”}”hjIesbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´Mhj8eh²hubj)�”}”(hŒGwhere 'sigmask' is hex value of the signal mask associated with a file.”h]”hŒKwhere ‘sigmask’ is hex value of the signal mask associated with a file.”…”�”}”(hjWeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M!hj8eh²hubeh}”(h]”Œsignalfd-files”ah ]”h"]”Œsignalfd files”ah$]”h&]”uh1hÈhjždh²hh³hÇh´MubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Epoll files”h]”hŒ Epoll files”…”�”}”(hjpeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjmeh²hh³hÇh´M%ubj6 )�”}”(hŒxpos: 0 flags: 02 mnt_id: 9 ino: 63107 tfd: 5 events: 1d data: ffffffffffffffff pos:0 ino:61af sdev:7”h]”hŒxpos: 0 flags: 02 mnt_id: 9 ino: 63107 tfd: 5 events: 1d data: ffffffffffffffff pos:0 ino:61af sdev:7”…”�”}”hj~esbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M)hjmeh²hubj)�”}”(hŒ¶where 'tfd' is a target file descriptor number in decimal form, 'events' is events mask being watched and the 'data' is data associated with a target [see epoll(7) for more details].”h]”hŒÂwhere ‘tfd’ is a target file descriptor number in decimal form, ‘events’ is events mask being watched and the ‘data’ is data associated with a target [see epoll(7) for more details].”…”�”}”(hjŒeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M/hjmeh²hubj)�”}”(hŒªThe 'pos' is current offset of the target file in decimal form [see lseek(2)], 'ino' and 'sdev' are inode and device numbers where target file resides, all in hex format.”h]”hŒ¶The ‘pos’ is current offset of the target file in decimal form [see lseek(2)], ‘ino’ and ‘sdev’ are inode and device numbers where target file resides, all in hex format.”…”�”}”(hjšeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M3hjmeh²hubeh}”(h]”Œ epoll-files”ah ]”h"]”Œ epoll files”ah$]”h&]”uh1hÈhjždh²hh³hÇh´M%ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒFsnotify files”h]”hŒFsnotify files”…”�”}”(hj³eh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj°eh²hh³hÇh´M8ubj)�”}”(hŒ/For inotify files the format is the following::”h]”hŒ.For inotify files the format is the following:”…”�”}”(hjÁeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M9hj°eh²hubj6 )�”}”(hŒ©pos: 0 flags: 02000000 mnt_id: 9 ino: 63107 inotify wd:3 ino:9e7e sdev:800013 mask:800afce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:7e9e0000640d1b6d”h]”hŒ©pos: 0 flags: 02000000 mnt_id: 9 ino: 63107 inotify wd:3 ino:9e7e sdev:800013 mask:800afce ignored_mask:0 fhandle-bytes:8 fhandle-type:1 f_handle:7e9e0000640d1b6d”…”�”}”hjÏesbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M;hj°eh²hubj)�”}”(hŒôwhere 'wd' is a watch descriptor in decimal form, i.e. a target file descriptor number, 'ino' and 'sdev' are inode and device where the target file resides and the 'mask' is the mask of events, all in hex form [see inotify(7) for more details].”h]”hXwhere ‘wd’ is a watch descriptor in decimal form, i.e. a target file descriptor number, ‘ino’ and ‘sdev’ are inode and device where the target file resides and the ‘mask’ is the mask of events, all in hex form [see inotify(7) for more details].”…”�”}”(hjÝeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MAhj°eh²hubj)�”}”(hŒ×If the kernel was built with exportfs support, the path to the target file is encoded as a file handle. The file handle is provided by three fields 'fhandle-bytes', 'fhandle-type' and 'f_handle', all in hex format.”h]”hŒãIf the kernel was built with exportfs support, the path to the target file is encoded as a file handle. The file handle is provided by three fields ‘fhandle-bytes’, ‘fhandle-type’ and ‘f_handle’, all in hex format.”…”�”}”(hjëeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MFhj°eh²hubj)�”}”(hŒUIf the kernel is built without exportfs support the file handle won't be printed out.”h]”hŒWIf the kernel is built without exportfs support the file handle won’t be printed out.”…”�”}”(hjùeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MKhj°eh²hubj)�”}”(hŒLIf there is no inotify mark attached yet the 'inotify' line will be omitted.”h]”hŒPIf there is no inotify mark attached yet the ‘inotify’ line will be omitted.”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MNhj°eh²hubj)�”}”(hŒ"For fanotify files the format is::”h]”hŒ!For fanotify files the format is:”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MPhj°eh²hubj6 )�”}”(hXpos: 0 flags: 02 mnt_id: 9 ino: 63107 fanotify flags:10 event-flags:0 fanotify mnt_id:12 mflags:40 mask:38 ignored_mask:40000003 fanotify ino:4f969 sdev:800013 mflags:0 mask:3b ignored_mask:40000000 fhandle-bytes:8 fhandle-type:1 f_handle:69f90400c275b5b4”h]”hXpos: 0 flags: 02 mnt_id: 9 ino: 63107 fanotify flags:10 event-flags:0 fanotify mnt_id:12 mflags:40 mask:38 ignored_mask:40000003 fanotify ino:4f969 sdev:800013 mflags:0 mask:3b ignored_mask:40000000 fhandle-bytes:8 fhandle-type:1 f_handle:69f90400c275b5b4”…”�”}”hj#fsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MRhj°eh²hubj)�”}”(hXwhere fanotify 'flags' and 'event-flags' are values used in fanotify_init call, 'mnt_id' is the mount point identifier, 'mflags' is the value of flags associated with mark which are tracked separately from events mask. 'ino' and 'sdev' are target inode and device, 'mask' is the events mask and 'ignored_mask' is the mask of events which are to be ignored. All are in hex format. Incorporation of 'mflags', 'mask' and 'ignored_mask' provide information about flags and mask used in fanotify_mark call [see fsnotify manpage for details].”h]”hXDwhere fanotify ‘flags’ and ‘event-flags’ are values used in fanotify_init call, ‘mnt_id’ is the mount point identifier, ‘mflags’ is the value of flags associated with mark which are tracked separately from events mask. ‘ino’ and ‘sdev’ are target inode and device, ‘mask’ is the events mask and ‘ignored_mask’ is the mask of events which are to be ignored. All are in hex format. Incorporation of ‘mflags’, ‘mask’ and ‘ignored_mask’ provide information about flags and mask used in fanotify_mark call [see fsnotify manpage for details].”…”�”}”(hj1fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MZhj°eh²hubj)�”}”(hŒ~While the first three lines are mandatory and always printed, the rest is optional and may be omitted if no marks created yet.”h]”hŒ~While the first three lines are mandatory and always printed, the rest is optional and may be omitted if no marks created yet.”…”�”}”(hj?fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mchj°eh²hubeh}”(h]”Œfsnotify-files”ah ]”h"]”Œfsnotify files”ah$]”h&]”uh1hÈhjždh²hh³hÇh´M8ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Timerfd files”h]”hŒ Timerfd files”…”�”}”(hjXfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjUfh²hh³hÇh´Mgubj6 )�”}”(hŒ~pos: 0 flags: 02 mnt_id: 9 ino: 63107 clockid: 0 ticks: 0 settime flags: 01 it_value: (0, 49406829) it_interval: (1, 0)”h]”hŒ~pos: 0 flags: 02 mnt_id: 9 ino: 63107 clockid: 0 ticks: 0 settime flags: 01 it_value: (0, 49406829) it_interval: (1, 0)”…”�”}”hjffsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MkhjUfh²hubj)�”}”(hXôwhere 'clockid' is the clock type and 'ticks' is the number of the timer expirations that have occurred [see timerfd_create(2) for details]. 'settime flags' are flags in octal form been used to setup the timer [see timerfd_settime(2) for details]. 'it_value' is remaining time until the timer expiration. 'it_interval' is the interval for the timer. Note the timer might be set up with TIMER_ABSTIME option which will be shown in 'settime flags', but 'it_value' still exhibits timer's remaining time.”h]”hXwhere ‘clockid’ is the clock type and ‘ticks’ is the number of the timer expirations that have occurred [see timerfd_create(2) for details]. ‘settime flags’ are flags in octal form been used to setup the timer [see timerfd_settime(2) for details]. ‘it_value’ is remaining time until the timer expiration. ‘it_interval’ is the interval for the timer. Note the timer might be set up with TIMER_ABSTIME option which will be shown in ‘settime flags’, but ‘it_value’ still exhibits timer’s remaining time.”…”�”}”(hjtfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MuhjUfh²hubeh}”(h]”Œ timerfd-files”ah ]”h"]”Œ timerfd files”ah$]”h&]”uh1hÈhjždh²hh³hÇh´MgubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒDMA Buffer files”h]”hŒDMA Buffer files”…”�”}”(hj�fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjŠfh²hh³hÇh´M~ubj6 )�”}”(hŒ^pos: 0 flags: 04002 mnt_id: 9 ino: 63107 size: 32768 count: 2 exp_name: system-heap”h]”hŒ^pos: 0 flags: 04002 mnt_id: 9 ino: 63107 size: 32768 count: 2 exp_name: system-heap”…”�”}”hj›fsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M‚hjŠfh²hubj)�”}”(hŒ™where 'size' is the size of the DMA buffer in bytes. 'count' is the file count of the DMA buffer file. 'exp_name' is the name of the DMA buffer exporter.”h]”hŒ¥where ‘size’ is the size of the DMA buffer in bytes. ‘count’ is the file count of the DMA buffer file. ‘exp_name’ is the name of the DMA buffer exporter.”…”�”}”(hj©fh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŠhjŠfh²hubeh}”(h]”Œdma-buffer-files”ah ]”h"]”Œdma buffer files”ah$]”h&]”uh1hÈhjždh²hh³hÇh´M~ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒVFIO Device files”h]”hŒVFIO Device files”…”�”}”(hjÂfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¿fh²hh³hÇh´MŽubj6 )�”}”(hŒ“pos: 0 flags: 02000002 mnt_id: 17 ino: 5122 vfio-device-syspath: /sys/devices/pci0000:e0/0000:e0:01.1/0000:e1:00.0/0000:e2:05.0/0000:e8:00.0”h]”hŒ“pos: 0 flags: 02000002 mnt_id: 17 ino: 5122 vfio-device-syspath: /sys/devices/pci0000:e0/0000:e0:01.1/0000:e1:00.0/0000:e2:05.0/0000:e8:00.0”…”�”}”hjÐfsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M’hj¿fh²hubj)�”}”(hŒTwhere 'vfio-device-syspath' is the sysfs path corresponding to the VFIO device file.”h]”hŒXwhere ‘vfio-device-syspath’ is the sysfs path corresponding to the VFIO device file.”…”�”}”(hjÞfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M˜hj¿fh²hubeh}”(h]”Œvfio-device-files”ah ]”h"]”Œvfio device files”ah$]”h&]”uh1hÈhjždh²hh³hÇh´MŽubeh}”(h]”Œ0proc-pid-fdinfo-fd-information-about-opened-file”ah ]”h"]”Œ;3.8 /proc//fdinfo/ - information about opened file”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´MñubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒE3.9 /proc//map_files - Information about memory mapped files”h]”hŒE3.9 /proc//map_files - Information about memory mapped files”…”�”}”(hjÿfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjüfh²hh³hÇh´Mœubj)�”}”(hŒxThis directory contains symbolic links which represent memory mapped files the process is maintaining. Example output::”h]”hŒwThis directory contains symbolic links which represent memory mapped files the process is maintaining. Example output:”…”�”}”(hj gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M�hjüfh²hubj6 )�”}”(hX°| lr-------- 1 root root 64 Jan 27 11:24 333c600000-333c620000 -> /usr/lib64/ld-2.18.so | lr-------- 1 root root 64 Jan 27 11:24 333c81f000-333c820000 -> /usr/lib64/ld-2.18.so | lr-------- 1 root root 64 Jan 27 11:24 333c820000-333c821000 -> /usr/lib64/ld-2.18.so | ... | lr-------- 1 root root 64 Jan 27 11:24 35d0421000-35d0422000 -> /usr/lib64/libselinux.so.1 | lr-------- 1 root root 64 Jan 27 11:24 400000-41a000 -> /usr/bin/ls”h]”hX°| lr-------- 1 root root 64 Jan 27 11:24 333c600000-333c620000 -> /usr/lib64/ld-2.18.so | lr-------- 1 root root 64 Jan 27 11:24 333c81f000-333c820000 -> /usr/lib64/ld-2.18.so | lr-------- 1 root root 64 Jan 27 11:24 333c820000-333c821000 -> /usr/lib64/ld-2.18.so | ... | lr-------- 1 root root 64 Jan 27 11:24 35d0421000-35d0422000 -> /usr/lib64/libselinux.so.1 | lr-------- 1 root root 64 Jan 27 11:24 400000-41a000 -> /usr/bin/ls”…”�”}”hjgsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M hjüfh²hubj)�”}”(hŒ}The name of a link represents the virtual memory bounds of a mapping, i.e. vm_area_struct::vm_start - vm_area_struct::vm_end.”h]”hŒ}The name of a link represents the virtual memory bounds of a mapping, i.e. vm_area_struct::vm_start - vm_area_struct::vm_end.”…”�”}”(hj)gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M§hjüfh²hubj)�”}”(hXnThe main purpose of the map_files is to retrieve a set of memory mapped files in a fast way instead of parsing /proc//maps or /proc//smaps, both of which contain many more records. At the same time one can open(2) mappings from the listings of two processes and comparing their inode numbers to figure out which anonymous memory areas are actually shared.”h]”hXnThe main purpose of the map_files is to retrieve a set of memory mapped files in a fast way instead of parsing /proc//maps or /proc//smaps, both of which contain many more records. At the same time one can open(2) mappings from the listings of two processes and comparing their inode numbers to figure out which anonymous memory areas are actually shared.”…”�”}”(hj7gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mªhjüfh²hubeh}”(h]”Œ8proc-pid-map-files-information-about-memory-mapped-files”ah ]”h"]”ŒA3.9 /proc//map_files - information about memory mapped files”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´MœubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ93.10 /proc//timerslack_ns - Task timerslack value”h]”hŒ93.10 /proc//timerslack_ns - Task timerslack value”…”�”}”(hjPgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjMgh²hh³hÇh´M²ubj)�”}”(hŒÐThis file provides the value of the task's timerslack value in nanoseconds. This value specifies an amount of time that normal timers may be deferred in order to coalesce timers and avoid unnecessary wakeups.”h]”hŒÒThis file provides the value of the task’s timerslack value in nanoseconds. This value specifies an amount of time that normal timers may be deferred in order to coalesce timers and avoid unnecessary wakeups.”…”�”}”(hj^gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M³hjMgh²hubj)�”}”(hŒPThis allows a task's interactivity vs power consumption tradeoff to be adjusted.”h]”hŒRThis allows a task’s interactivity vs power consumption tradeoff to be adjusted.”…”�”}”(hjlgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M·hjMgh²hubj)�”}”(hŒJWriting 0 to the file will set the task's timerslack to the default value.”h]”hŒLWriting 0 to the file will set the task’s timerslack to the default value.”…”�”}”(hjzgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MºhjMgh²hubj)�”}”(hŒ$Valid values are from 0 - ULLONG_MAX”h]”hŒ$Valid values are from 0 - ULLONG_MAX”…”�”}”(hjˆgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¼hjMgh²hubj)�”}”(hŒ�An application setting the value must have PTRACE_MODE_ATTACH_FSCREDS level permissions on the task specified to change its timerslack_ns value.”h]”hŒ�An application setting the value must have PTRACE_MODE_ATTACH_FSCREDS level permissions on the task specified to change its timerslack_ns value.”…”�”}”(hj–gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¾hjMgh²hubeh}”(h]”Œ,proc-pid-timerslack-ns-task-timerslack-value”ah ]”h"]”Œ63.10 /proc//timerslack_ns - task timerslack value”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´M²ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒA3.11 /proc//patch_state - Livepatch patch operation state”h]”hŒA3.11 /proc//patch_state - Livepatch patch operation state”…”�”}”(hj¯gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¬gh²hh³hÇh´MÂubj)�”}”(hŒ_When CONFIG_LIVEPATCH is enabled, this file displays the value of the patch state for the task.”h]”hŒ_When CONFIG_LIVEPATCH is enabled, this file displays the value of the patch state for the task.”…”�”}”(hj½gh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÃhj¬gh²hubj)�”}”(hŒ9A value of '-1' indicates that no patch is in transition.”h]”hŒ=A value of ‘-1’ indicates that no patch is in transition.”…”�”}”(hjËgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÆhj¬gh²hubj)�”}”(hŒãA value of '0' indicates that a patch is in transition and the task is unpatched. If the patch is being enabled, then the task hasn't been patched yet. If the patch is being disabled, then the task has already been unpatched.”h]”hŒéA value of ‘0’ indicates that a patch is in transition and the task is unpatched. If the patch is being enabled, then the task hasn’t been patched yet. If the patch is being disabled, then the task has already been unpatched.”…”�”}”(hjÙgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÈhj¬gh²hubj)�”}”(hŒáA value of '1' indicates that a patch is in transition and the task is patched. If the patch is being enabled, then the task has already been patched. If the patch is being disabled, then the task hasn't been unpatched yet.”h]”hŒçA value of ‘1’ indicates that a patch is in transition and the task is patched. If the patch is being enabled, then the task has already been patched. If the patch is being disabled, then the task hasn’t been unpatched yet.”…”�”}”(hjçgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÍhj¬gh²hubeh}”(h]”Œ4proc-pid-patch-state-livepatch-patch-operation-state”ah ]”h"]”Œ>3.11 /proc//patch_state - livepatch patch operation state”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´MÂubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ@3.12 /proc//arch_status - task architecture specific status”h]”hŒ@3.12 /proc//arch_status - task architecture specific status”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjýgh²hh³hÇh´MÓubj)�”}”(hŒmWhen CONFIG_PROC_PID_ARCH_STATUS is enabled, this file displays the architecture specific status of the task.”h]”hŒmWhen CONFIG_PROC_PID_ARCH_STATUS is enabled, this file displays the architecture specific status of the task.”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MÔhjýgh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒExample”h]”hŒExample”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjhh²hh³hÇh´MØubj6 )�”}”(hŒ6$ cat /proc/6753/arch_status AVX512_elapsed_ms: 8”h]”hŒ6$ cat /proc/6753/arch_status AVX512_elapsed_ms: 8”…”�”}”hj-hsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´MÜhjhh²hubeh}”(h]”Œid5”ah ]”h"]”h$]”j™_ah&]”uh1hÈhjýgh²hh³hÇh´MØjýKubhÉ)�”}”(hhh]”hÎ)�”}”(hŒ Description”h]”hŒ Description”…”�”}”(hjEhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjBhh²hh³hÇh´Màubah}”(h]”Œid6”ah ]”h"]”h$]”jë`ah&]”uh1hÈhjýgh²hh³hÇh´MàjýKubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒx86 specific entries”h]”hŒx86 specific entries”…”�”}”(hj]hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjZhh²hh³hÇh´MãubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒAVX512_elapsed_ms”h]”hŒAVX512_elapsed_ms”…”�”}”(hjnhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjkhh²hh³hÇh´Mæubjí$)�”}”(hXmIf AVX512 is supported on the machine, this entry shows the milliseconds elapsed since the last time AVX512 usage was recorded. The recording happens on a best effort basis when a task is scheduled out. This means that the value depends on two factors: 1) The time which the task spent on the CPU without being scheduled out. With CPU isolation and a single runnable task this can take several seconds. 2) The time since the task was scheduled out last. Depending on the reason for being scheduled out (time slice exhausted, syscall ...) this can be arbitrary long time. As a consequence the value cannot be considered precise and authoritative information. The application which uses this information has to be aware of the overall scenario on the system in order to determine whether a task is a real AVX512 user or not. Precise information can be obtained with performance counters. A special value of '-1' indicates that no AVX512 usage was recorded, thus the task is unlikely an AVX512 user, but depends on the workload and the scheduling scenario, it also could be a false negative mentioned above. ”h]”(j)�”}”(hŒüIf AVX512 is supported on the machine, this entry shows the milliseconds elapsed since the last time AVX512 usage was recorded. The recording happens on a best effort basis when a task is scheduled out. This means that the value depends on two factors:”h]”hŒüIf AVX512 is supported on the machine, this entry shows the milliseconds elapsed since the last time AVX512 usage was recorded. The recording happens on a best effort basis when a task is scheduled out. This means that the value depends on two factors:”…”�”}”(hj€hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mèhj|hubjí$)�”}”(hXK1) The time which the task spent on the CPU without being scheduled out. With CPU isolation and a single runnable task this can take several seconds. 2) The time since the task was scheduled out last. Depending on the reason for being scheduled out (time slice exhausted, syscall ...) this can be arbitrary long time. ”h]”jŸ0)�”}”(hhh]”(j})�”}”(hŒ“The time which the task spent on the CPU without being scheduled out. With CPU isolation and a single runnable task this can take several seconds. ”h]”j)�”}”(hŒ’The time which the task spent on the CPU without being scheduled out. With CPU isolation and a single runnable task this can take several seconds.”h]”hŒ’The time which the task spent on the CPU without being scheduled out. With CPU isolation and a single runnable task this can take several seconds.”…”�”}”(hj™hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Míhj•hubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj’hubj})�”}”(hŒ¥The time since the task was scheduled out last. Depending on the reason for being scheduled out (time slice exhausted, syscall ...) this can be arbitrary long time. ”h]”j)�”}”(hŒ¤The time since the task was scheduled out last. Depending on the reason for being scheduled out (time slice exhausted, syscall ...) this can be arbitrary long time.”h]”hŒ¤The time since the task was scheduled out last. Depending on the reason for being scheduled out (time slice exhausted, syscall ...) this can be arbitrary long time.”…”�”}”(hj±hh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mñhj­hubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj’hubeh}”(h]”h ]”h"]”h$]”h&]”jÙ0jÚ0jÛ0hjÜ0jÝ0uh1jž0hjŽhubah}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´Míhj|hubj)�”}”(hX:As a consequence the value cannot be considered precise and authoritative information. The application which uses this information has to be aware of the overall scenario on the system in order to determine whether a task is a real AVX512 user or not. Precise information can be obtained with performance counters.”h]”hX:As a consequence the value cannot be considered precise and authoritative information. The application which uses this information has to be aware of the overall scenario on the system in order to determine whether a task is a real AVX512 user or not. Precise information can be obtained with performance counters.”…”�”}”(hjÑhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mõhj|hubj)�”}”(hŒÚA special value of '-1' indicates that no AVX512 usage was recorded, thus the task is unlikely an AVX512 user, but depends on the workload and the scheduling scenario, it also could be a false negative mentioned above.”h]”hŒÞA special value of ‘-1’ indicates that no AVX512 usage was recorded, thus the task is unlikely an AVX512 user, but depends on the workload and the scheduling scenario, it also could be a false negative mentioned above.”…”�”}”(hjßhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mûhj|hubeh}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´Mèhjkhh²hubeh}”(h]”Œavx512-elapsed-ms”ah ]”h"]”Œavx512_elapsed_ms”ah$]”h&]”uh1hÈhjZhh²hh³hÇh´Mæubeh}”(h]”Œx86-specific-entries”ah ]”h"]”Œx86 specific entries”ah$]”h&]”uh1hÈhjýgh²hh³hÇh´Mãubeh}”(h]”Œ6proc-pid-arch-status-task-architecture-specific-status”ah ]”h"]”Œ@3.12 /proc//arch_status - task architecture specific status”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´MÓubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ43.13 /proc//fd - List of symlinks to open files”h]”hŒ43.13 /proc//fd - List of symlinks to open files”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj ih²hh³hÇh´M ubj)�”}”(hŒoThis directory contains symbolic links which represent open files the process is maintaining. Example output::”h]”hŒnThis directory contains symbolic links which represent open files the process is maintaining. Example output:”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj ih²hubj6 )�”}”(hX%lr-x------ 1 root root 64 Sep 20 17:53 0 -> /dev/null l-wx------ 1 root root 64 Sep 20 17:53 1 -> /dev/null lrwx------ 1 root root 64 Sep 20 17:53 10 -> 'socket:[12539]' lrwx------ 1 root root 64 Sep 20 17:53 11 -> 'socket:[12540]' lrwx------ 1 root root 64 Sep 20 17:53 12 -> 'socket:[12542]'”h]”hX%lr-x------ 1 root root 64 Sep 20 17:53 0 -> /dev/null l-wx------ 1 root root 64 Sep 20 17:53 1 -> /dev/null lrwx------ 1 root root 64 Sep 20 17:53 10 -> 'socket:[12539]' lrwx------ 1 root root 64 Sep 20 17:53 11 -> 'socket:[12540]' lrwx------ 1 root root 64 Sep 20 17:53 12 -> 'socket:[12542]'”…”�”}”hj*isbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M hj ih²hubj)�”}”(hŒ°The number of open files for the process is stored in 'size' member of stat() output for /proc//fd for fast access. -------------------------------------------------------”h]”hŒ´The number of open files for the process is stored in ‘size’ member of stat() output for /proc//fd for fast access. -------------------------------------------------------”…”�”}”(hj8ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hj ih²hubeh}”(h]”Œ*proc-pid-fd-list-of-symlinks-to-open-files”ah ]”h"]”Œ43.13 /proc//fd - list of symlinks to open files”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´M ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒF3.14 /proc//ksm_stat - Information about the process's ksm status”h]”hŒH3.14 /proc//ksm_stat - Information about the process’s ksm status”…”�”}”(hjQih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjNih²hh³hÇh´M ubj)�”}”(hŒlWhen CONFIG_KSM is enabled, each process has this file which displays the information of ksm merging status.”h]”hŒlWhen CONFIG_KSM is enabled, each process has this file which displays the information of ksm merging status.”…”�”}”(hj_ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M hjNih²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒExample”h]”hŒExample”…”�”}”(hjpih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjmih²hh³hÇh´M ubj6 )�”}”(hŒŠ/ # cat /proc/self/ksm_stat ksm_rmap_items 0 ksm_zero_pages 0 ksm_merging_pages 0 ksm_process_profit 0 ksm_merge_any: no ksm_mergeable: no”h]”hŒŠ/ # cat /proc/self/ksm_stat ksm_rmap_items 0 ksm_zero_pages 0 ksm_merging_pages 0 ksm_process_profit 0 ksm_merge_any: no ksm_mergeable: no”…”�”}”hj~isbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M hjmih²hubeh}”(h]”Œid7”ah ]”h"]”h$]”Œexample”ah&]”uh1hÈhjNih²hh³hÇh´M jýKubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Description”h]”hŒ Description”…”�”}”(hj—ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj”ih²hh³hÇh´M! ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒksm_rmap_items”h]”hŒksm_rmap_items”…”�”}”(hj¨ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¥ih²hh³hÇh´M$ ubj)�”}”(hŒÖThe number of ksm_rmap_item structures in use. The structure ksm_rmap_item stores the reverse mapping information for virtual addresses. KSM will generate a ksm_rmap_item for each ksm-scanned page of the process.”h]”hŒÖThe number of ksm_rmap_item structures in use. The structure ksm_rmap_item stores the reverse mapping information for virtual addresses. KSM will generate a ksm_rmap_item for each ksm-scanned page of the process.”…”�”}”(hj¶ih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M& hj¥ih²hubeh}”(h]”Œksm-rmap-items”ah ]”h"]”Œksm_rmap_items”ah$]”h&]”uh1hÈhj”ih²hh³hÇh´M$ ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒksm_zero_pages”h]”hŒksm_zero_pages”…”�”}”(hjÏih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÌih²hh³hÇh´M, ubj)�”}”(hŒ~When /sys/kernel/mm/ksm/use_zero_pages is enabled, it represent how many empty pages are merged with kernel zero pages by KSM.”h]”hŒ~When /sys/kernel/mm/ksm/use_zero_pages is enabled, it represent how many empty pages are merged with kernel zero pages by KSM.”…”�”}”(hjÝih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M. hjÌih²hubeh}”(h]”Œksm-zero-pages”ah ]”h"]”Œksm_zero_pages”ah$]”h&]”uh1hÈhj”ih²hh³hÇh´M, ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒksm_merging_pages”h]”hŒksm_merging_pages”…”�”}”(hjöih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjóih²hh³hÇh´M2 ubj)�”}”(hŒ¦It represents how many pages of this process are involved in KSM merging (not including ksm_zero_pages). It is the same with what /proc//ksm_merging_pages shows.”h]”hŒ¦It represents how many pages of this process are involved in KSM merging (not including ksm_zero_pages). It is the same with what /proc//ksm_merging_pages shows.”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M4 hjóih²hubeh}”(h]”Œksm-merging-pages”ah ]”h"]”Œksm_merging_pages”ah$]”h&]”uh1hÈhj”ih²hh³hÇh´M2 ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒksm_process_profit”h]”hŒksm_process_profit”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjjh²hh³hÇh´M9 ubj)�”}”(hX~The profit that KSM brings (Saved bytes). KSM can save memory by merging identical pages, but also can consume additional memory, because it needs to generate a number of rmap_items to save each scanned page's brief rmap information. Some of these pages may be merged, but some may not be abled to be merged after being checked several times, which are unprofitable memory consumed.”h]”hX€The profit that KSM brings (Saved bytes). KSM can save memory by merging identical pages, but also can consume additional memory, because it needs to generate a number of rmap_items to save each scanned page’s brief rmap information. Some of these pages may be merged, but some may not be abled to be merged after being checked several times, which are unprofitable memory consumed.”…”�”}”(hj+jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M; hjjh²hubeh}”(h]”Œksm-process-profit”ah ]”h"]”Œksm_process_profit”ah$]”h&]”uh1hÈhj”ih²hh³hÇh´M9 ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ ksm_merge_any”h]”hŒ ksm_merge_any”…”�”•]}”(hjDjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjAjh²hh³hÇh´MC ubj)�”}”(hŒ˜It specifies whether the process's 'mm is added by prctl() into the candidate list of KSM or not, and if KSM scanning is fully enabled at process level.”h]”hŒœIt specifies whether the process’s ‘mm is added by prctl() into the candidate list of KSM or not, and if KSM scanning is fully enabled at process level.”…”�”}”(hjRjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´ME hjAjh²hubeh}”(h]”Œ ksm-merge-any”ah ]”h"]”Œ ksm_merge_any”ah$]”h&]”uh1hÈhj”ih²hh³hÇh´MC ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ ksm_mergeable”h]”hŒ ksm_mergeable”…”�”}”(hjkjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjhjh²hh³hÇh´MJ ubj)�”}”(hŒTIt specifies whether any VMAs of the process''s mms are currently applicable to KSM.”h]”hŒXIt specifies whether any VMAs of the process’’s mms are currently applicable to KSM.”…”�”}”(hjyjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´ML hjhjh²hubj)�”}”(hŒPMore information about KSM can be found in Documentation/admin-guide/mm/ksm.rst.”h]”hŒPMore information about KSM can be found in Documentation/admin-guide/mm/ksm.rst.”…”�”}”(hj‡jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MO hjhjh²hubeh}”(h]”Œ ksm-mergeable”ah ]”h"]”Œ ksm_mergeable”ah$]”h&]”uh1hÈhj”ih²hh³hÇh´MJ ubeh}”(h]”Œid8”ah ]”h"]”h$]”Œ description”ah&]”uh1hÈhjNih²hh³hÇh´M! jýKubeh}”(h]”Œ/ksm_stat - information about the process's ksm status”ah$]”h&]”uh1hÈhj”^h²hh³hÇh´M ubeh}”(h]”Œ chapter-3-per-process-parameters”ah ]”h"]”Œ!chapter 3: per-process parameters”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´MÚubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒChapter 4: Configuring procfs”h]”hŒChapter 4: Configuring procfs”…”�”}”(hj¸jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjµjh²hh³hÇh´MT ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ4.1 Mount options”h]”hŒ4.1 Mount options”…”�”}”(hjÉjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÆjh²hh³hÇh´MW ubj)�”}”(hŒ*The following mount options are supported:”h]”hŒ*The following mount options are supported:”…”�”}”(hj×jh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MY hjÆjh²hubjí$)�”}”(hX€========= ======================================================== hidepid= Set /proc// access mode. gid= Set the group authorized to learn processes information. subset= Show only the specified subset of procfs. pidns= Specify a the namespace used by this procfs. ========= ======================================================== ”h]”hÞ)�”}”(hhh]”hã)�”}”(hhh]”(hè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K uh1hçhjìjubhè)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”K8uh1hçhjìjubj)�”}”(hhh]”(j )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒhidepid=”h]”hŒhidepid=”…”�”}”(hj kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M\ hj kubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkubj)�”}”(hhh]”j)�”}”(hŒSet /proc// access mode.”h]”hŒSet /proc// access mode.”…”�”}”(hj#kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M\ hj kubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjkubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒgid=”h]”hŒgid=”…”�”}”(hjCkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M] hj@kubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj=kubj)�”}”(hhh]”j)�”}”(hŒ8Set the group authorized to learn processes information.”h]”hŒ8Set the group authorized to learn processes information.”…”�”}”(hjZkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M] hjWkubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj=kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjkubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒsubset=”h]”hŒsubset=”…”�”}”(hjzkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M^ hjwkubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjtkubj)�”}”(hhh]”j)�”}”(hŒ)Show only the specified subset of procfs.”h]”hŒ)Show only the specified subset of procfs.”…”�”}”(hj‘kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M^ hjŽkubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjtkubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjkubj )�”}”(hhh]”(j)�”}”(hhh]”j)�”}”(hŒpidns=”h]”hŒpidns=”…”�”}”(hj±kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M_ hj®kubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj«kubj)�”}”(hhh]”j)�”}”(hŒ,Specify a the namespace used by this procfs.”h]”hŒ,Specify a the namespace used by this procfs.”…”�”}”(hjÈkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M_ hjÅkubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj«kubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjìjubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1hâhjéjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjåjubah}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´M[ hjÆjh²hubj)�”}”(hŒjhidepid=off or hidepid=0 means classic mode - everybody may access all /proc// directories (default).”h]”hŒjhidepid=off or hidepid=0 means classic mode - everybody may access all /proc// directories (default).”…”�”}”(hjûkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mb hjÆjh²hubj)�”}”(hX hidepid=noaccess or hidepid=1 means users may not access any /proc// directories but their own. Sensitive files like cmdline, sched*, status are now protected against other users. This makes it impossible to learn whether any user runs specific program (given the program doesn't reveal itself by its behaviour). As an additional bonus, as /proc//cmdline is unaccessible for other users, poorly written programs passing sensitive information via program arguments are now protected against local eavesdroppers.”h]”hX hidepid=noaccess or hidepid=1 means users may not access any /proc// directories but their own. Sensitive files like cmdline, sched*, status are now protected against other users. This makes it impossible to learn whether any user runs specific program (given the program doesn’t reveal itself by its behaviour). As an additional bonus, as /proc//cmdline is unaccessible for other users, poorly written programs passing sensitive information via program arguments are now protected against local eavesdroppers.”…”�”}”(hj lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Me hjÆjh²hubj)�”}”(hXQhidepid=invisible or hidepid=2 means hidepid=1 plus all /proc// will be fully invisible to other users. It doesn't mean that it hides a fact whether a process with a specific pid value exists (it can be learned by other means, e.g. by "kill -0 $PID"), but it hides process's uid and gid, which may be learned by stat()'ing /proc// otherwise. It greatly complicates an intruder's task of gathering information about running processes, whether some daemon runs with elevated privileges, whether other user runs some sensitive program, whether other users run any program at all, etc.”h]”hX]hidepid=invisible or hidepid=2 means hidepid=1 plus all /proc// will be fully invisible to other users. It doesn’t mean that it hides a fact whether a process with a specific pid value exists (it can be learned by other means, e.g. by “kill -0 $PIDâ€�), but it hides process’s uid and gid, which may be learned by stat()’ing /proc// otherwise. It greatly complicates an intruder’s task of gathering information about running processes, whether some daemon runs with elevated privileges, whether other user runs some sensitive program, whether other users run any program at all, etc.”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mm hjÆjh²hubj)�”}”(hŒzhidepid=ptraceable or hidepid=4 means that procfs should only contain /proc// directories that the caller can ptrace.”h]”hŒzhidepid=ptraceable or hidepid=4 means that procfs should only contain /proc// directories that the caller can ptrace.”…”�”}”(hj%lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mv hjÆjh²hubj)�”}”(hŒágid= defines a group authorized to learn processes information otherwise prohibited by hidepid=. If you use some daemon like identd which needs to learn information about processes information, just add identd to this group.”h]”hŒágid= defines a group authorized to learn processes information otherwise prohibited by hidepid=. If you use some daemon like identd which needs to learn information about processes information, just add identd to this group.”…”�”}”(hj3lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´My hjÆjh²hubj)�”}”(hX subset=pid hides all top level files and directories in the procfs that are not related to tasks. This option cannot be changed on an existing procfs instance because overmounts that existed before the change could otherwise remain reachable after the top level procfs entries are hidden.”h]”hX subset=pid hides all top level files and directories in the procfs that are not related to tasks. This option cannot be changed on an existing procfs instance because overmounts that existed before the change could otherwise remain reachable after the top level procfs entries are hidden.”…”�”}”(hjAlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M} hjÆjh²hubj)�”}”(hXœpidns= specifies a pid namespace (either as a string path to something like `/proc/$pid/ns/pid`, or a file descriptor when using `FSCONFIG_SET_FD`) that will be used by the procfs instance when translating pids. By default, procfs will use the calling process's active pid namespace. Note that the pid namespace of an existing procfs instance cannot be modified (attempting to do so will give an `-EBUSY` error).”h]”(hŒLpidns= specifies a pid namespace (either as a string path to something like ”…”�”}”(hjOlh²hh³Nh´Nubj4)�”}”(hŒ`/proc/$pid/ns/pid`”h]”hŒ/proc/$pid/ns/pid”…”�”}”(hjWlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjOlubhŒ", or a file descriptor when using ”…”�”}”(hjOlh²hh³Nh´Nubj4)�”}”(hŒ`FSCONFIG_SET_FD`”h]”hŒFSCONFIG_SET_FD”…”�”}”(hjilh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjOlubhŒü) that will be used by the procfs instance when translating pids. By default, procfs will use the calling process’s active pid namespace. Note that the pid namespace of an existing procfs instance cannot be modified (attempting to do so will give an ”…”�”}”(hjOlh²hh³Nh´Nubj4)�”}”(hŒ`-EBUSY`”h]”hŒ-EBUSY”…”�”}”(hj{lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjOlubhŒ error).”…”�”}”(hjOlh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M‚ hjÆjh²hubeh}”(h]”Œ mount-options”ah ]”h"]”Œ4.1 mount options”ah$]”h&]”uh1hÈhjµjh²hh³hÇh´MW ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ4.2 Mount restrictions”h]”hŒ4.2 Mount restrictions”…”�”}”(hjžlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj›lh²hh³hÇh´MŠ ubj)�”}”(hŒšIf user namespaces are in use, the kernel additionally checks the instances of procfs available to the mounter and will not allow procfs to be mounted if:”h]”hŒšIf user namespaces are in use, the kernel additionally checks the instances of procfs available to the mounter and will not allow procfs to be mounted if:”…”�”}”(hj¬lh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´MŒ hj›lh²hubjí$)�”}”(hXM1. This mount is not fully visible unless the new procfs is going to be mounted with subset=pid option. a. Its root directory is not the root directory of the filesystem. b. If any file or non-empty procfs directory is hidden by another mount. 2. A new mount overrides the readonly option or any option from atime family. ”h]”jŸ0)�”}”(hhh]”(j})�”}”(hŒòThis mount is not fully visible unless the new procfs is going to be mounted with subset=pid option. a. Its root directory is not the root directory of the filesystem. b. If any file or non-empty procfs directory is hidden by another mount. ”h]”(j)�”}”(hŒdThis mount is not fully visible unless the new procfs is going to be mounted with subset=pid option.”h]”hŒdThis mount is not fully visible unless the new procfs is going to be mounted with subset=pid option.”…”�”}”(hjÅlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M� hjÁlubjŸ0)�”}”(hhh]”(j})�”}”(hŒ?Its root directory is not the root directory of the filesystem.”h]”j)�”}”(hjØlh]”hŒ?Its root directory is not the root directory of the filesystem.”…”�”}”(hjÚlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M’ hjÖlubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjÓlubj})�”}”(hŒFIf any file or non-empty procfs directory is hidden by another mount. ”h]”j)�”}”(hŒEIf any file or non-empty procfs directory is hidden by another mount.”h]”hŒEIf any file or non-empty procfs directory is hidden by another mount.”…”�”}”(hjñlh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M“ hjílubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hjÓlubeh}”(h]”h ]”h"]”h$]”h&]”jÙ0Œ loweralpha”jÛ0hjÜ0jwYuh1jž0hjÁlubeh}”(h]”h ]”h"]”h$]”h&]”uh1j|hj¾lubj})�”}”(hŒKA new mount overrides the readonly option or any option from atime family. ”h]”j)�”}”(hŒJA new mount overrides the readonly option or any option from atime family.”h]”hŒJA new mount overrides the readonly option or any option from atime family.”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M• hjmubah}”(h]”h ]”h"]”h$]”h&]”uh1j|hj¾lubeh}”(h]”h ]”h"]”h$]”h&]”jÙ0jÚ0jÛ0hjÜ0jwYuh1jž0hjºlubah}”(h]”h ]”h"]”h$]”h&]”uh1jì$h³hÇh´M� hj›lh²hubeh}”(h]”Œmount-restrictions”ah ]”h"]”Œ4.2 mount restrictions”ah$]”h&]”uh1hÈhjµjh²hh³hÇh´MŠ ubeh}”(h]”Œchapter-4-configuring-procfs”ah ]”h"]”Œchapter 4: configuring procfs”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´MT ubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒChapter 5: Filesystem behavior”h]”hŒChapter 5: Filesystem behavior”…”�”}”(hjImh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjFmh²hh³hÇh´M˜ ubj)�”}”(hŒ�Originally, before the advent of pid namespace, procfs was a global file system. It means that there was only one procfs instance in the system.”h]”hŒ�Originally, before the advent of pid namespace, procfs was a global file system. It means that there was only one procfs instance in the system.”…”�”}”(hjWmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mš hjFmh²hubj)�”}”(hŒ±When pid namespace was added, a separate procfs instance was mounted in each pid namespace. So, procfs mount options are global among all mountpoints within the same namespace::”h]”hŒ°When pid namespace was added, a separate procfs instance was mounted in each pid namespace. So, procfs mount options are global among all mountpoints within the same namespace:”…”�”}”(hjemh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M� hjFmh²hubj6 )�”}”(hX@# grep ^proc /proc/mounts proc /proc proc rw,relatime,hidepid=2 0 0 # strace -e mount mount -o hidepid=1 -t proc proc /tmp/proc mount("proc", "/tmp/proc", "proc", 0, "hidepid=1") = 0 +++ exited with 0 +++ # grep ^proc /proc/mounts proc /proc proc rw,relatime,hidepid=2 0 0 proc /tmp/proc proc rw,relatime,hidepid=2 0 0”h]”hX@# grep ^proc /proc/mounts proc /proc proc rw,relatime,hidepid=2 0 0 # strace -e mount mount -o hidepid=1 -t proc proc /tmp/proc mount("proc", "/tmp/proc", "proc", 0, "hidepid=1") = 0 +++ exited with 0 +++ # grep ^proc /proc/mounts proc /proc proc rw,relatime,hidepid=2 0 0 proc /tmp/proc proc rw,relatime,hidepid=2 0 0”…”�”}”hjsmsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M¡ hjFmh²hubj)�”}”(hŒOand only after remounting procfs mount options will change at all mountpoints::”h]”hŒNand only after remounting procfs mount options will change at all mountpoints:”…”�”}”(hj�mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M¬ hjFmh²hubj6 )�”}”(hŒ¦# mount -o remount,hidepid=1 -t proc proc /tmp/proc # grep ^proc /proc/mounts proc /proc proc rw,relatime,hidepid=1 0 0 proc /tmp/proc proc rw,relatime,hidepid=1 0 0”h]”hŒ¦# mount -o remount,hidepid=1 -t proc proc /tmp/proc # grep ^proc /proc/mounts proc /proc proc rw,relatime,hidepid=1 0 0 proc /tmp/proc proc rw,relatime,hidepid=1 0 0”…”�”}”hj�msbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M¯ hjFmh²hubj)�”}”(hŒBThis behavior is different from the behavior of other filesystems.”h]”hŒBThis behavior is different from the behavior of other filesystems.”…”�”}”(hj�mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´Mµ hjFmh²hubj)�”}”(hXThe new procfs behavior is more like other filesystems. Each procfs mount creates a new procfs instance. Mount options affect own procfs instance. It means that it became possible to have several procfs instances displaying tasks with different filtering options in one pid namespace::”h]”hXThe new procfs behavior is more like other filesystems. Each procfs mount creates a new procfs instance. Mount options affect own procfs instance. It means that it became possible to have several procfs instances displaying tasks with different filtering options in one pid namespace:”…”�”}”(hj«mh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÇh´M· hjFmh²hubj6 )�”}”(hŒã# mount -o hidepid=invisible -t proc proc /proc # mount -o hidepid=noaccess -t proc proc /tmp/proc # grep ^proc /proc/mounts proc /proc proc rw,relatime,hidepid=invisible 0 0 proc /tmp/proc proc rw,relatime,hidepid=noaccess 0 0”h]”hŒã# mount -o hidepid=invisible -t proc proc /proc # mount -o hidepid=noaccess -t proc proc /tmp/proc # grep ^proc /proc/mounts proc /proc proc rw,relatime,hidepid=invisible 0 0 proc /tmp/proc proc rw,relatime,hidepid=noaccess 0 0”…”�”}”hj¹msbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j5 h³hÇh´M¼ hjFmh²hubeh}”(h]”Œchapter-5-filesystem-behavior”ah ]”h"]”Œchapter 5: filesystem behavior”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´M˜ ubeh}”(h]”Œthe-proc-filesystem”ah ]”h"]”Œthe /proc filesystem”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”jŒfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jùmŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”j|c]”jkcasŒnameids”}”(jÔmjÑmjRjOj#j jJjGj©]j¦]Œin this chapter”NjY2jV2j’Lj�Lj @j @j.Jj+JjULjRLjŠLj‡Lj/Uj,Uj€Uj}UjWj WjwXjtXjmZjjZjA[j>[jl]ji]Œsummary”Nj‘^jŽ^j²jj¯jj_j_jR_jO_jò`jï`Œexample”NŒ description”NjÐ_jÍ_j÷_jô_j`j`jE`jB`jl`ji`j“`j�`jâ`jß`j{bjxbj1dj.djXdjUdj›dj˜djùfjöfj5ej2ejjejgej­ejªejRfjOfj‡fj„fj¼fj¹fjñfjîfjJgjGgj©gj¦gjúgj÷gjijijijýhjøhjõhjKijHijªjj§jjÉijÆijðijíijjjjj>jj;jjejjbjjšjj—jjCmj@mj˜lj•lj;mj8mjÌmjÉmjdj|cuŒ nametypes”}”(jÔm‰jR‰j#‰jJ‰j©]‰j>n‰jY2‰j’L‰j @‰j.J‰jUL‰jŠL‰j/U‰j€U‰jW‰jwX‰jmZ‰jA[‰jl]‰j?n‰j‘^‰j²j‰j_‰jR_‰jò`‰j@n‰jAn‰jÐ_‰j÷_‰j`‰jE`‰jl`‰j“`‰jâ`‰j{b‰j1d‰jXd‰j›d‰jùf‰j5e‰jje‰j­e‰jRf‰j‡f‰j¼f‰jñf‰jJg‰j©g‰júg‰ji‰ji‰jøh‰jKi‰jªj‰jÉi‰jði‰jj‰j>j‰jej‰jšj‰jCm‰j˜l‰j;m‰jÌm‰jdˆuh}”(jÑmhÊjOjÑj jâjGj&j¦]jUj÷jfjV2jþj�Lj\2j @j¦?j+Jj@jRLj1Jj‡LjXLj,Uj•Lj}Uj2Uj WjƒUjtXjWjjZjzXj>[jpZji]jD[jž]jo]jŽ^j¬]ja^j½]j‡^jf^j¯jj”^j_j¥^jO_j _jï`jU_j•_jt_jç`j›_jÍ_j¬_jô_jÓ_j`jú_jB`j!`ji`jH`j�`jo`jß`j–`jxbjõ`j.dj~bjucjkcj|cjÞcjUdj4dj˜dj[djöfjždj2ejejgej8ejªejmejOfj°ej„fjUfj¹fjŠfjîfj¿fjGgjüfj¦gjMgj÷gj¬gjijýgj=hjhjUhjBhjýhjZhjõhjkhjHij ij§jjNijŽijmijŸjj”ijÆij¥ijíijÌijjjóij;jjjjbjjAjj—jjhjj@mjµjj•ljÆjj8mj›ljÉmjFmj" j‘j6j} jêj;j“$jïj =j{2jOj´LjûTj"OjWj°UjQXj2Wj7[j�ZuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”jÞcaŒautofootnote_refs”]”jkcaŒsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”jnKs…”R”Œparse_messages”]”(hŒsystem_message”“”)�”}”(hhh]”j)�”}”(hŒ2Duplicate implicit target name: "in this chapter".”h]”hŒ6Duplicate implicit target name: “in this chapterâ€�.”…”�”}”(hjenh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjbnubah}”(h]”h ]”h"]”h$]”h&]”ja^aŒlevel”KŒtype”ŒINFO”Œsource”hÇŒline”M®uh1j`nhj½]h²hh³hÇh´M®ubjan)�”}”(hhh]”j)�”}”(hŒ*Duplicate implicit target name: "summary".”h]”hŒ.Duplicate implicit target name: “summaryâ€�.”…”�”}”(hj�nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj~nubah}”(h]”h ]”h"]”h$]”h&]”j‡^aŒlevel”KŒtype”j{nŒsource”hÇŒline”MÐuh1j`nhjf^h²hh³hÇh´MÐubjan)�”}”(hhh]”j)�”}”(hŒ*Duplicate implicit target name: "example".”h]”hŒ.Duplicate implicit target name: “exampleâ€�.”…”�”}”(hjœnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj™nubah}”(h]”h ]”h"]”h$]”h&]”j=haŒlevel”KŒtype”j{nŒsource”hÇŒline”MØuh1j`nhjhh²hh³hÇh´MØubjan)�”}”(hhh]”j)�”}”(hŒ.Duplicate implicit target name: "description".”h]”hŒ2Duplicate implicit target name: “descriptionâ€�.”…”�”}”(hj·nh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj´nubah}”(h]”h ]”h"]”h$]”h&]”jUhaŒlevel”KŒtype”j{nŒsource”hÇŒline”Màuh1j`nhjBhh²hh³hÇh´Màubjan)�”}”(hhh]”j)�”}”(hŒ*Duplicate implicit target name: "example".”h]”hŒ.Duplicate implicit target name: “exampleâ€�.”…”�”}”(hjÒnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÏnubah}”(h]”h ]”h"]”h$]”h&]”jŽiaŒlevel”KŒtype”j{nŒsource”hÇŒline”M uh1j`nhjmih²hh³hÇh´M ubjan)�”}”(hhh]”j)�”}”(hŒ.Duplicate implicit target name: "description".”h]”hŒ2Duplicate implicit target name: “descriptionâ€�.”…”�”}”(hjính²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjênubah}”(h]”h ]”h"]”h$]”h&]”jŸjaŒlevel”KŒtype”j{nŒsource”hÇŒline”M! uh1j`nhj”ih²hh³hÇh´M! ubeŒtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.