aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/proc.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/filesystems/proc.txt')
-rw-r--r--Documentation/filesystems/proc.txt73
1 files changed, 61 insertions, 12 deletions
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index a6aca8740883..db3b1aba32a3 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -136,6 +136,7 @@ Table 1-1: Process specific entries in /proc
136 statm Process memory status information 136 statm Process memory status information
137 status Process status in human readable form 137 status Process status in human readable form
138 wchan If CONFIG_KALLSYMS is set, a pre-decoded wchan 138 wchan If CONFIG_KALLSYMS is set, a pre-decoded wchan
139 pagemap Page table
139 stack Report full stack trace, enable via CONFIG_STACKTRACE 140 stack Report full stack trace, enable via CONFIG_STACKTRACE
140 smaps a extension based on maps, showing the memory consumption of 141 smaps a extension based on maps, showing the memory consumption of
141 each mapping 142 each mapping
@@ -370,17 +371,25 @@ Shared_Dirty: 0 kB
370Private_Clean: 0 kB 371Private_Clean: 0 kB
371Private_Dirty: 0 kB 372Private_Dirty: 0 kB
372Referenced: 892 kB 373Referenced: 892 kB
374Anonymous: 0 kB
373Swap: 0 kB 375Swap: 0 kB
374KernelPageSize: 4 kB 376KernelPageSize: 4 kB
375MMUPageSize: 4 kB 377MMUPageSize: 4 kB
376 378Locked: 374 kB
377The first of these lines shows the same information as is displayed for the 379
378mapping in /proc/PID/maps. The remaining lines show the size of the mapping, 380The first of these lines shows the same information as is displayed for the
379the amount of the mapping that is currently resident in RAM, the "proportional 381mapping in /proc/PID/maps. The remaining lines show the size of the mapping
380set size” (divide each shared page by the number of processes sharing it), the 382(size), the amount of the mapping that is currently resident in RAM (RSS), the
381number of clean and dirty shared pages in the mapping, and the number of clean 383process' proportional share of this mapping (PSS), the number of clean and
382and dirty private pages in the mapping. The "Referenced" indicates the amount 384dirty private pages in the mapping. Note that even a page which is part of a
383of memory currently marked as referenced or accessed. 385MAP_SHARED mapping, but has only a single pte mapped, i.e. is currently used
386by only one process, is accounted as private and not as shared. "Referenced"
387indicates the amount of memory currently marked as referenced or accessed.
388"Anonymous" shows the amount of memory that does not belong to any file. Even
389a mapping associated with a file may contain anonymous pages: when MAP_PRIVATE
390and a page is modified, the file page is replaced by a private anonymous copy.
391"Swap" shows how much would-be-anonymous memory is also used, but out on
392swap.
384 393
385This file is only present if the CONFIG_MMU kernel configuration option is 394This file is only present if the CONFIG_MMU kernel configuration option is
386enabled. 395enabled.
@@ -397,6 +406,9 @@ To clear the bits for the file mapped pages associated with the process
397 > echo 3 > /proc/PID/clear_refs 406 > echo 3 > /proc/PID/clear_refs
398Any other value written to /proc/PID/clear_refs will have no effect. 407Any other value written to /proc/PID/clear_refs will have no effect.
399 408
409The /proc/pid/pagemap gives the PFN, which can be used to find the pageflags
410using /proc/kpageflags and number of times a page is mapped using
411/proc/kpagecount. For detailed explanation, see Documentation/vm/pagemap.txt.
400 412
4011.2 Kernel data 4131.2 Kernel data
402--------------- 414---------------
@@ -531,7 +543,7 @@ just those considered 'most important'. The new vectors are:
531 their statistics are used by kernel developers and interested users to 543 their statistics are used by kernel developers and interested users to
532 determine the occurrence of interrupts of the given type. 544 determine the occurrence of interrupts of the given type.
533 545
534The above IRQ vectors are displayed only when relevent. For example, 546The above IRQ vectors are displayed only when relevant. For example,
535the threshold vector does not exist on x86_64 platforms. Others are 547the threshold vector does not exist on x86_64 platforms. Others are
536suppressed when the system is a uniprocessor. As of this writing, only 548suppressed when the system is a uniprocessor. As of this writing, only
537i386 and x86_64 platforms support the new IRQ vector displays. 549i386 and x86_64 platforms support the new IRQ vector displays.
@@ -562,6 +574,12 @@ The contents of each smp_affinity file is the same by default:
562 > cat /proc/irq/0/smp_affinity 574 > cat /proc/irq/0/smp_affinity
563 ffffffff 575 ffffffff
564 576
577There is an alternate interface, smp_affinity_list which allows specifying
578a cpu range instead of a bitmask:
579
580 > cat /proc/irq/0/smp_affinity_list
581 1024-1031
582
565The default_smp_affinity mask applies to all non-active IRQs, which are the 583The default_smp_affinity mask applies to all non-active IRQs, which are the
566IRQs which have not yet been allocated/activated, and hence which lack a 584IRQs which have not yet been allocated/activated, and hence which lack a
567/proc/irq/[0-9]* directory. 585/proc/irq/[0-9]* directory.
@@ -571,12 +589,13 @@ reports itself as being attached. This hardware locality information does not
571include information about any possible driver locality preference. 589include information about any possible driver locality preference.
572 590
573prof_cpu_mask specifies which CPUs are to be profiled by the system wide 591prof_cpu_mask specifies which CPUs are to be profiled by the system wide
574profiler. Default value is ffffffff (all cpus). 592profiler. Default value is ffffffff (all cpus if there are only 32 of them).
575 593
576The way IRQs are routed is handled by the IO-APIC, and it's Round Robin 594The way IRQs are routed is handled by the IO-APIC, and it's Round Robin
577between all the CPUs which are allowed to handle it. As usual the kernel has 595between all the CPUs which are allowed to handle it. As usual the kernel has
578more info than you and does a better job than you, so the defaults are the 596more info than you and does a better job than you, so the defaults are the
579best choice for almost everyone. 597best choice for almost everyone. [Note this applies only to those IO-APIC's
598that support "Round Robin" interrupt distribution.]
580 599
581There are three more important subdirectories in /proc: net, scsi, and sys. 600There are three more important subdirectories in /proc: net, scsi, and sys.
582The general rule is that the contents, or even the existence of these 601The general rule is that the contents, or even the existence of these
@@ -659,6 +678,8 @@ varies by architecture and compile options. The following is from a
659 678
660> cat /proc/meminfo 679> cat /proc/meminfo
661 680
681The "Locked" indicates whether the mapping is locked in memory or not.
682
662 683
663MemTotal: 16344972 kB 684MemTotal: 16344972 kB
664MemFree: 13634064 kB 685MemFree: 13634064 kB
@@ -1170,6 +1191,30 @@ Table 1-12: Files in /proc/fs/ext4/<devname>
1170 mb_groups details of multiblock allocator buddy cache of free blocks 1191 mb_groups details of multiblock allocator buddy cache of free blocks
1171.............................................................................. 1192..............................................................................
1172 1193
11942.0 /proc/consoles
1195------------------
1196Shows registered system console lines.
1197
1198To see which character device lines are currently used for the system console
1199/dev/console, you may simply look into the file /proc/consoles:
1200
1201 > cat /proc/consoles
1202 tty0 -WU (ECp) 4:7
1203 ttyS0 -W- (Ep) 4:64
1204
1205The columns are:
1206
1207 device name of the device
1208 operations R = can do read operations
1209 W = can do write operations
1210 U = can do unblank
1211 flags E = it is enabled
1212 C = it is preferred console
1213 B = it is primary boot console
1214 p = it is used for printk buffer
1215 b = it is not a TTY but a Braille device
1216 a = it is safe to use when cpu is offline
1217 major:minor major and minor number of the device separated by a colon
1173 1218
1174------------------------------------------------------------------------------ 1219------------------------------------------------------------------------------
1175Summary 1220Summary
@@ -1285,11 +1330,15 @@ scaled linearly with /proc/<pid>/oom_score_adj.
1285Writing to /proc/<pid>/oom_score_adj or /proc/<pid>/oom_adj will change the 1330Writing to /proc/<pid>/oom_score_adj or /proc/<pid>/oom_adj will change the
1286other with its scaled value. 1331other with its scaled value.
1287 1332
1333The value of /proc/<pid>/oom_score_adj may be reduced no lower than the last
1334value set by a CAP_SYS_RESOURCE process. To reduce the value any lower
1335requires CAP_SYS_RESOURCE.
1336
1288NOTICE: /proc/<pid>/oom_adj is deprecated and will be removed, please see 1337NOTICE: /proc/<pid>/oom_adj is deprecated and will be removed, please see
1289Documentation/feature-removal-schedule.txt. 1338Documentation/feature-removal-schedule.txt.
1290 1339
1291Caveat: when a parent task is selected, the oom killer will sacrifice any first 1340Caveat: when a parent task is selected, the oom killer will sacrifice any first
1292generation children with seperate address spaces instead, if possible. This 1341generation children with separate address spaces instead, if possible. This
1293avoids servers and important system daemons from being killed and loses the 1342avoids servers and important system daemons from being killed and loses the
1294minimal amount of work. 1343minimal amount of work.
1295 1344