File: proc.5

package info (click to toggle)
manpages-ja 0.5.0.0.20210215%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 28,568 kB
  • sloc: perl: 161; makefile: 58
file content (3124 lines) | stat: -rw-r--r-- 172,412 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
.\" Copyright (C) 1994, 1995 by Daniel Quinlan (quinlan@yggdrasil.com)
.\" and Copyright (C) 2002-2008 Michael Kerrisk <mtk.manpages@gmail.com>
.\" with networking additions from Alan Cox (A.Cox@swansea.ac.uk)
.\" and scsi additions from Michael Neuffer (neuffer@mail.uni-mainz.de)
.\" and sysctl additions from Andries Brouwer (aeb@cwi.nl)
.\" and System V IPC (as well as various other) additions from
.\" Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" <http://www.gnu.org/licenses/>.
.\" %%%LICENSE_END
.\"
.\" Modified 1995-05-17 by faith@cs.unc.edu
.\" Minor changes by aeb and Marty Leisner (leisner@sdsp.mc.xerox.com).
.\" Modified 1996-04-13, 1996-07-22 by aeb@cwi.nl
.\" Modified 2001-12-16 by rwhron@earthlink.net
.\" Modified 2002-07-13 by jbelton@shaw.ca
.\" Modified 2002-07-22, 2003-05-27, 2004-04-06, 2004-05-25
.\"    by Michael Kerrisk <mtk.manpages@gmail.com>
.\" 2004-11-17, mtk -- updated notes on /proc/loadavg
.\" 2004-12-01, mtk, rtsig-max and rtsig-nr went away in 2.6.8
.\" 2004-12-14, mtk, updated 'statm', and fixed error in order of list
.\" 2005-05-12, mtk, updated 'stat'
.\" 2005-07-13, mtk, added /proc/sys/fs/mqueue/*
.\" 2005-09-16, mtk, Added /proc/sys/fs/suid_dumpable
.\" 2005-09-19, mtk, added /proc/zoneinfo
.\" 2005-03-01, mtk, moved /proc/sys/fs/mqueue/* material to mq_overview.7.
.\" 2008-06-05, mtk, Added /proc/[pid]/oom_score, /proc/[pid]/oom_adj,
.\"     /proc/[pid]/limits, /proc/[pid]/mountinfo, /proc/[pid]/mountstats,
.\"     and /proc/[pid]/fdinfo/*.
.\" 2008-06-19, mtk, Documented /proc/[pid]/status.
.\" 2008-07-15, mtk, added /proc/config.gz
.\"
.\" FIXME . cross check against Documentation/filesystems/proc.txt
.\" to see what information could be imported from that file
.\" into this file.
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\"
.\" Japanese Version Copyright (c) 1998,1999 Hiroaki Nagoya,
.\"     Copyright (c) 2001-2005 Yuichi SATO,
.\"     and Copyright (c) 2005-2013 Akihiro MOTOKI
.\"         all rights reserved.
.\" Translated 1998-07-09, Hiroaki Nagoya <nagoya@cc.hit-u.ac.jp>
.\" Proofreaded 1998-07-24, Hiroaki Nagoya <nagoya@cc.hit-u.ac.jp> ,
.\"                         Nakano Takeo <nakano@apm.seikei.ac.jp> and
.\"                         Shinya Hanataka <hanataka@abyss.rim.or.jp>.
.\" Matched with man-pages-1.22 1999-01-21, Hiroaki Nagoya
.\" Updated 1999-12-04, Kentaro Shirakata <argrath@yo.rim.or.jp>
.\" Updated 2001-04-24, Yuichi SATO <ysato444@yahoo.co.jp>
.\" Updated 2002-01-14, Yuichi SATO
.\" Updated 2002-11-04, Yuichi SATO
.\" Updated 2003-03-01, Yuichi SATO
.\" Updated 2003-10-18, Yuichi SATO
.\" Updated 2003-11-27, Yuichi SATO
.\" Updated 2005-01-22, Yuichi SATO
.\" Updated 2005-09-14, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
.\" Updated 2005-11-19, Akihiro MOTOKI, LDP v2.14
.\" Updated 2006-01-18, Akihiro MOTOKI, LDP v2.21
.\" Updated 2006-02-15, Akihiro MOTOKI, LDP v2.23
.\" Updated 2006-03-05, Akihiro MOTOKI, LDP v2.25
.\" Updated 2006-04-15, Akihiro MOTOKI, LDP v2.29
.\" Updated 2007-01-05, Akihiro MOTOKI, LDP v2.43
.\" Updated 2007-07-04, Akihiro MOTOKI, LDP v2.58
.\" Updated 2007-09-03, Akihiro MOTOKI, LDP v2.64
.\" Updated 2007-10-11, Akihiro MOTOKI, LDP v2.65
.\" Updated 2008-02-06, Akihiro MOTOKI, LDP v2.76
.\" Updated 2008-09-21, Akihiro MOTOKI, LDP v3.09
.\" Updated 2009-03-03, Akihiro MOTOKI, LDP v3.19
.\" Updated 2009-03-13, Akihiro MOTOKI, LDP v3.20
.\" Updated 2012-06-04, Akihiro MOTOKI <amotoki@gmail.com>
.\" Updated 2013-05-01, Akihiro MOTOKI
.\" Updated 2013-05-04, Akihiro MOTOKI
.\" Updated 2013-07-24, Akihiro MOTOKI
.\" Updated 2013-08-16, Akihiro MOTOKI
.\" Updated 2013-08-30, Akihiro MOTOKI, LDP v3.53
.\"
.TH PROC 5 2015\-01\-22 Linux "Linux Programmer's Manual"
.SH 名前
proc \- プロセスの情報を含む擬似ファイルシステム
.SH 説明
\fIproc\fP ファイルシステムは擬似的なファイルシステムであり、 カーネル内のデータへのインターフェースとして使用される。 一般的には
\fI/proc\fP にマウントされる。 大部分のファイルは読み出し専用 (read\-only) であるが、 いくつかのファイルは書き込み可能であり、
そのファイルに書き込めばカーネルの内部変数を変更できる。
.LP
以下のリストでは \fI/proc\fP 階層以下のファイルやディレクトリの多くについて説明している。
.PD 1
.TP 
\fI/proc/[pid]\fP
.\" FIXME Describe /proc/[pid]/attr and
.\"     /proc/[pid]/task/[tid]/attr
.\"	This is a directory
.\"     Added in 2.6.0
.\"	CONFIG_SECURITY
.\"	https://lwn.net/Articles/28222/
.\"	http://www.nsa.gov/research/_files/selinux/papers/module/x362.shtml
.\"
.\"	fscreate, current, prev, and exec present in Linux 2.6.0
.\"	keycreate added in Linux 2.6.18
.\"		commit 4eb582cf1fbd7b9e5f466e3718a59c957e75254e
.\"		/Documentation/keys.txt
.\"	sockcreate added in Linux 2.6.18
.\"		commit 42c3e03ef6b298813557cdb997bd6db619cd65a2
.\"
.\" FIXME Describe /proc/[pid]/autogroup
.\"	2.6.38
.\"	commit 5091faa449ee0b7d73bc296a93bca9540fc51d0a
.\" 	CONFIG_SCHED_AUTOGROUP
.\"
実行中のプロセスについてのサブディレクトリ。 サブディレクトリ名は (そのプロセスの) プロセス ID である。
各サブディレクトリは、以下の擬似ファイルとディレクトリを含む。
.TP 
\fI/proc/[number]/auxv\fP (カーネル 2.6.0\-test7 以降)
実行時にプロセスに渡された ELF インタープリター情報が格納されている。 個々のエントリーは、\fIunsigned long\fP 型の ID 1 個に
\fIunsigned long\fP 型の値 1 個が続くフォーマットである。 最後のエントリーには 0 が 2 個入っている。
\fBgetauxval\fP(3) も参照。
.TP 
\fI/proc/[pid]/cgroup\fP (Linux 2.6.24 以降)
.\" 	  Info in Documentation/cgroups/cgroups.txt
このファイルは、プロセスやタスクが所属するコントロールグループを示す。
cgroup の各階層についてエントリーが 1 つあり、
各エントリーは以下の形式のコロン区切りのフィールドで構成される。
.nf

\f(CW    5:cpuacct,cpu,cpuset:/daemons\fP
.fi
.IP
コロン区切りの各フィールドは、左から右の順で、以下の意味を持つ。
.RS 11
.IP 1. 3
階層 ID 番号
.IP 2.
その階層に関連付けたサブシステムの集合
.IP 3.
プロセスが所属する階層内のコントロールグループ
.RE
.IP
このファイルが存在するのは、カーネルのコンフィギュレーションオプショ
ン \fBCONFIG_CGROUPS\fP を有効にした場合だけである。
.TP 
\fI/proc/[pid]/clear_refs\fP (Linux 2.6.22 以降)

.\" commit b813e931b4c8235bb42e301096ea97dbdee3e8fe (2.6.22)
.\" commit 398499d5f3613c47f2143b8c54a04efb5d7a6da9 (2.6.32)
.\" commit 040fa02077de01c7e08fa75be6125e4ca5636011 (3.11)
.\"
.\"       "Clears page referenced bits shown in smaps output"
.\"       write-only, writable only by the owner of the process
このファイルは書き込み専用ファイルで、書き込めるのはプロセスの所有者だけである。

このファイルには以下の値を書き込むことができる。
.RS
.TP 
1 (Linux 2.6.22 以降)
.\" Internally: CLEAR_REFS_ALL
Reset the PG_Referenced and ACCESSED/YOUNG bits for all the pages associated
with the process.  (Before kernel 2.6.32, writing any nonzero value to this
file had this effect.)
.TP 
2 (Linux 2.6.32 以降)
.\" Internally: CLEAR_REFS_ANON
Reset the PG_Referenced and ACCESSED/YOUNG bits for all anonymous pages
associated with the process.
.TP 
3 (Linux 2.6.32 以降)
.\" Internally: CLEAR_REFS_MAPPED
Reset the PG_Referenced and ACCESSED/YOUNG bits for all file\-mapped pages
associated with the process.
.RE
.IP
Clearing the PG_Referenced and ACCESSED/YOUNG bits provides a method to
measure approximately how much memory a process is using.  One first
inspects the values in the "Referenced" fields for the VMAs shown in
\fI/proc/[pid]/smaps\fP to get an idea of the memory footprint of the process.
One then clears the PG_Referenced and ACCESSED/YOUNG bits and, after some
measured time interval, once again inspects the values in the "Referenced"
fields to get an idea of the change in memory footprint of the process
during the measured interval.  If one is interested only in inspecting the
selected mapping types, then the value 2 or 3 can be used instead of 1.

A further value can be written to affect a different bit:
.RS
.TP 
4 (Linux 3.11 以降)
.\" Internally: CLEAR_REFS_SOFT_DIRTY
Clear the soft\-dirty bit for all the pages associated with the process.
This is used (in conjunction with \fI/proc/[pid]/pagemap\fP)  by the
check\-point restore system to discover which pages of a process have been
dirtied since the file \fI/proc/[pid]/clear_refs\fP was written to.
.RE
.IP
Writing any value to \fI/proc/[pid]/clear_refs\fP other than those listed above
has no effect.

\fI/proc/[pid]/clear_refs\fP ファイルが存在するのは、カーネルのコンフィギュレーションオプション
\fBCONFIG_PROC_PAGE_MONITOR\fP を有効にした場合だけである。
.TP 
\fI/proc/[pid]/cmdline\fP
.\" In 2.3.26, this also used to be true if the process was swapped out.
この読み出し専用のファイルはプロセスの完全なコマンド行を保持する。 ただし、そのプロセスがゾンビプロセスの場合は、 このファイルは空となる。 つまり、
このファイルを読み出しても一文字も返らない。 このファイルではコマンドライン引き数が、 ヌルバイト (\(aq\e0\(aq)
で区切られた文字列として書かれており、 最後の文字列の後にヌルバイトが一つ置かれる。
.TP 
\fI/proc/[pid]/comm\fP (Linux 2.6.33 以降)
.\" commit 4614a696bd1c3a9af3a08f0e5874830a85b889d4
This file exposes the process's \fIcomm\fP value\(emthat is, the command name
associated with the process.  Different threads in the same process may have
different \fIcomm\fP values, accessible via \fI/proc/[pid]/task/[tid]/comm\fP.  A
thread may modify its \fIcomm\fP value, or that of any of other thread in the
same thread group (see the discussion of \fBCLONE_THREAD\fP in \fBclone\fP(2)), by
writing to the file \fI/proc/self/task/[tid]/comm\fP.  Strings longer than
\fBTASK_COMM_LEN\fP (16) characters are silently truncated.

This file provides a superset of the \fBprctl\fP(2)  \fBPR_SET_NAME\fP and
\fBPR_GET_NAME\fP operations, and is employed by \fBpthread_setname_np\fP(3)  when
used to rename threads other than the caller.
.TP 
\fI/proc/[pid]/coredump_filter\fP (Linux 2.6.23 以降)
\fBcore\fP(5)  参照。
.TP 
\fI/proc/[pid]/cpuset\fP (Linux 2.6.12 以降)
.\" and/proc/[pid]/task/[tid]/cpuset
\fBcpuset\fP(7)  参照。
.TP 
\fI/proc/[pid]/cwd\fP
プロセスのカレントワーキングディレクトリへのシンボリックリンク。 例えば、プロセス 20 のカレントワーキングディレクトリを見つけるためには、
次のようにすればよい。

.in +4n
.nf
$\fB cd /proc/20/cwd; /bin/pwd\fP
.fi
.in

\fIpwd\fP コマンドはシェルの内部コマンドのことがよくあり、
うまく動作しないかもしれない。
\fBbash\fP(1) では \fIpwd\ \-P\fP を使ってもよい。

.\" The following was still true as at kernel 2.6.13
マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このシンボリックリンクの内容は参照できない (スレッドの終了は通常
\fBpthread_exit\fP(3)  を呼び出しにより行われる)。
.TP 
\fI/proc/[pid]/environ\fP
このファイルはプロセスの環境変数を含んでいる。 各エントリーはヌルバイト (\(aq\e0\(aq) で区切られていて、
末尾にヌルバイトがあるかもしれない。 したがって、プロセス 1 の環境変数を表示するためには 次のようにすればよい。
.in +4n
.nf

$\fB strings /proc/1/environ\fP
.fi
.in
.TP 
\fI/proc/[pid]/exe\fP
.\" The following was still true as at kernel 2.6.13
Linux 2.2 以降では、このファイルはシンボリックリンクで、 実行可能コマンドの実際のパス名を格納している。
このシンボリックリンクは通常のように辿ることができる; これをオープンすると実行可能ファイルがオープンされる。 (コマンドラインで)
\fI/proc/[pid]/exe\fP と入力すると、プロセス番号 [pid] で実行されている 実行可能ファイルをもう一つ実行することができる。
マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このシンボリックリンクの内容は参照できない (スレッドの終了は通常
\fBpthread_exit\fP(3)  を呼び出しにより行われる)。

Linux 2.0 以前では、 \fI/proc/[pid]/exe\fP は実行されたバイナリへのポインターで、シンボリックリンクのように見える。
Linux 2.0 以前では、このファイルに対して \fBreadlink\fP(2)  を実行すると、次のフォーマットの文字列が返る。

    [デバイス番号]:iノード番号

たとえば、[0301]:1502 はメジャーデバイス番号 03 (IDE, MFM などのドライブ)  マイナーデバイス番号 01
(最初のドライブの最初のパーティション) の デバイス上の iノード番号 1502 である。

\fI\-inum\fP オプションをつけて \fBfind\fP(1) を使うと、
このファイルの所在を探すことができる。
.TP 
\fI/proc/[pid]/fd/\fP
プロセスがオープンしたファイル各々に対するエントリーを含むサブディレクトリ。 ファイルディスクリプターがファイル名で、
実際のファイルへのシンボリックリンクになっている。 したがって 0 は標準入力、1 は標準出力、2 は標準エラー出力、などとなる。

パイプやソケットのファイルディスクリプターでは、 エントリーはファイル種別が inode という内容を持つシンボリックリンクとなる。
このファイルに対して \fBreadlink\fP(2) を呼び出すと以下の形式の文字列が返る。

    type:[inode]

例えば、 \fIsocket:[2248868]\fP は inode が 2248868 のソケットである。 ソケットの場合、 その inode を元に
\fI/proc/net/\fP 以下のファイルを参照し詳しい情報を得ることができる。

対応する inode がないファイルディスクリプター (例えば \fBepoll_create\fP(2), \fBeventfd\fP(2),
\fBinotify_init\fP(2), \fBsignalfd\fP(2), \fBtimerfd\fP(2) により生成されたファイルディスクリプター) では、
エントリーはその内容が以下の形式のシンボリックリンクとなる。

    anon_inode:<file\-type>

\fIfile\-type\fP は角括弧で囲まれる場合がある。

例えば、 epoll ファイルディスクリプターは、 内容が文字列 \fIanon_inode:[eventpoll]\fP
のシンボリックリンクを持つ場合がある。

.\"The following was still true as at kernel 2.6.13
マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このディレクトリの内容は参照できない (スレッドの終了は通常
\fBpthread_exit\fP(3)  を呼び出しにより行われる)。

コマンドライン引き数としてファイル名を受け取るが、引き数が 渡されなかった場合
に標準入力から入力を受け取らないようなプログラムや、 コマンドライン引き数とし
て書き込みファイルを受け取るが、引き数が 渡されなかった場合に標準出力に出力を
行わないようなプログラムであっても、 \fI/proc/[pid]/fd\fP を使うことで標準入力や
標準出力を使用できるようになる。 例えば、 \fI\-i\fP を入力ファイルを指定するフラ
グ、 \fI\-o\fP を出力ファイルを指定するフラグと仮定すると、
.in +4n
.nf

$\fB foobar \-i /proc/self/fd/0 \-o /proc/self/fd/1 ...\fP
.fi
.in

.\" The following is not true in my tests (MTK):
.\" Note that this will not work for
.\" programs that seek on their files, as the files in the fd directory
.\" are not seekable.
を実行することにより、フィルタとして動作させることができる。

\fI/proc/self/fd/N\fP は、ある種の UNIX や UNIX 風のシステムにある \fI/dev/fd/N\fP
とだいたい同じである。 事実 Linux のたいていの MAKEDEV スクリプトは、
\fI/dev/fd\fP を \fI/proc/self/fd\fP へのシンボリックリンクにしている。

ほとんどのシステムでは、シンボリックリンク \fI/dev/stdin\fP, \fI/dev/stdout\fP, \fI/dev/stderr\fP
が提供されており、それぞれ \fI/proc/self/fd\fP 内のファイル \fI0\fP, \fI1\fP, \fI2\fP にリンクされている。
したがって、上述のサンプルコマンドは次のようにも書くことができる。
.in +4n
.nf

$\fB foobar \-i /dev/stdin \-o /dev/stdout ...\fP
.fi
.in
.\" FIXME Describe /proc/[pid]/loginuid
.\"       Added in 2.6.11; updating requires CAP_AUDIT_CONTROL
.\"       CONFIG_AUDITSYSCALL
.TP 
\fI/proc/[pid]/fdinfo/\fP (Linux 2.6.22 以降)
このサブディレクトリには、そのプロセスがオープンしているファイル毎の エントリーが入っており、ファイルディスクリプターがファイル名となっている。
各ファイルの内容を読み出すことで、対応するファイルディスクリプターに関する 情報を得ることができる。以下に例を示す。
.in +4n
.nf

$\fB cat /proc/12015/fdinfo/4\fP
pos:    1000
flags:  01002002
.fi
.in

\fIpos\fP フィールドは 10 進数で、現在のファイルオフセットを示す。 \fIflags\fP フィールドは 8 進数で、
ファイルのアクセスモードとファイル状態フラグを示す (\fBopen\fP(2)  参照)。

.\" FIXME
.\" Certain file types include additional info; see
.\" Documentation/filesystems/proc.txt
.\"
.\" Especially interesting is this:
.\"
.\"     commit ab49bdecc3ebb46ab661f5f05d5c5ea9606406c6
.\"     Author: Cyrill Gorcunov <gorcunov@openvz.org>
.\"     Date:   Mon Dec 17 16:05:06 2012 -0800
.\"
.\" Basically, the /proc/PID/fdinfo/ entry for an inotify FD
.\" includes the file handles for all watched FDs
.\"
このディレクトリのファイルは、プロセスの所有者だけが読み出すことができる。
.TP 
\fI/proc/[pid]/io\fP (kernel 2.6.20 以降)
.\" commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2
このファイルは、 プロセスの I/O 統計情報を表示する。 以下に例を挙げる。
.in +4n
.nf

#\fB cat /proc/3828/io\fP
rchar: 323934931
wchar: 323929600
syscr: 632687
syscw: 632675
read_bytes: 0
write_bytes: 323932160
cancelled_write_bytes: 0
.fi
.in

フィールドの詳細は以下の通りである。
.RS
.TP 
\fIrchar\fP: 読み出し文字数
このタスクがきっかけでストレージから読み出されたバイト数。 この値は、単純に \fBread\fP(2)
や同様のシステムコールからこのプロセスに渡されたバイト数の合計である。 この値には、 端末入出力なども含まれ、 実際に物理ディスク I/O
が必要であったか (読み出しがページキャッシュからの読み出しで十分であったか) どうかは関係ない。
.TP 
\fIwchar\fP: 書き込み文字数
このタスクがきっかけで行われたか行われるはずのディスクへの書き込みバイト数。 \fIrchar\fP と同じ注意があてはまる。
.TP 
\fIsyscr\fP: 読み出しシステムコール数
読み出し I/O 操作\(em\fBread\fP(2) や \fBpread\fP(29 などのシステムコール\(emを試みた回数。
.TP 
\fIsyscw\fP: 書き込みシステムコール数
書き込み I/O 操作\(em\fBwrite\fP(2) や \fBpwrite\fP(29 などのシステムコール\(emを試みた回数。
.TP 
\fIread_bytes\fP: 読み出しバイト数
このプロセスが実際にストレージ層から取得しようとしたバイト数。 ブロックデバイス上のファイルシステムでは正確な値となる。
.TP 
\fIwrite_bytes\fP: 書き込みバイト数
このプロセスが実際にストレージ層に転送しようとしたバイト数。
.TP 
\fIcancelled_write_bytes\fP:
The 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: this
field represents the number of bytes which this process caused to not
happen, by truncating pagecache.  A task can cause "negative" I/O too.  If
this task truncates some dirty pagecache, some I/O which another task has
been accounted for (in its \fIwrite_bytes\fP)  will not be happening.
.RE
.IP
\fI注意\fP: 現在の実装では 32 ビットシステムでは少しいやらしい点がある。 プロセス B が 64
ビットカウンターの一つを更新している途中に、プロセス A がプロセス B の \fI/proc/[pid]/io\fP を読んだ場合、 プロセス A
に更新中の結果が見えることがある。
.TP 
\fI/proc/[pid]/gid_map\fP (Linux 3.5 以降)
\fI/proc/[pid]/uid_map\fP の説明を参照すること。

.TP 
\fI/proc/[pid]/limits\fP (Linux 2.6.24 以降)
.\" commit 3036e7b490bf7878c6dae952eec5fb87b1106589
このファイルは、そのプロセスの各リソース制限について、 ソフトリミット、ハードリミット、計測単位を表示する (\fBgetrlimit\fP(2)  参照)。
Linux 2.6.35 以前では、 プロセスの実 UID を持つプロセスだけが、 このファイルを読み出すことができる。 Linux 2.6.36
以降では、 システム上のすべてのユーザーがこのファイルを読み出すことができる。
.TP 
\fI/proc/[pid]/map_files/\fP (kernel 3.3 以降)
.\" commit 640708a2cff7f81e246243b0073c66e6ece7e53e
このサブディレクトリには、 メモリーマップされたファイルに対応するエントリーが置かれる (\fBmmap\fP(2) 参照)。
エントリーの名前がメモリー領域の (16 進数表現の) 開始アドレスと終了アドレスの組で、
エントリーはマップされているファイルへのシンボリックリンクである。 以下に例を示す。 なお、 出力は幅が 80
文字のディスプレイに合うように折り返して整形されている。
.in +4n
.nf

$\fB ls \-l /proc/self/map_files/\fP
lr\-\-\-\-\-\-\-\-. 1 root root 64 Apr 16 21:31
            3252e00000\-3252e20000 \-> /usr/lib64/ld\-2.15.so
\&...
.fi
.in

これらのエントリーが存在するのは \fBMAP_FILE\fP フラグでマッピングされたメモリー領域についてであるが、 Linux での無名の共有メモリー
(\fBMAP_ANON | MAP_SHARED\fP で作成された領域) の実装方法では、
このディレクトリに無名の共有メモリーに関するエントリーも存在する。 以下は、 マッピング元のファイルが削除された \fI/dev/zero\fP
ファイルでの例である。
.in +4n
.nf


lrw\-\-\-\-\-\-\-. 1 root root 64 Apr 16 21:33
            7fc075d2f000\-7fc075e6f000 \-> /dev/zero (deleted)
.fi
.in

このディレクトリが存在するのは、 カーネルのコンフィギュレーションオプション \fBCONFIG_CHECKPOINT_RESTORE\fP
が有効になっている場合だけである。
.TP 
\fI/proc/[pid]/maps\fP
現在マッピングされているメモリー領域とそのアクセスパーミッションを含む。 メモリーマッピングについての詳しい情報は \fBmmap\fP(2) を参照。

ファイルのフォーマットは以下のとおり:

.in -7n
.nf
\fIaddress           perms offset  dev   inode       pathname\fP
00400000\-00452000 r\-xp 00000000 08:02 173521      /usr/bin/dbus\-daemon
00651000\-00652000 r\-\-p 00051000 08:02 173521      /usr/bin/dbus\-daemon
00652000\-00655000 rw\-p 00052000 08:02 173521      /usr/bin/dbus\-daemon
00e03000\-00e24000 rw\-p 00000000 00:00 0           [heap]
00e24000\-011f7000 rw\-p 00000000 00:00 0           [heap]
\&...
35b1800000\-35b1820000 r\-xp 00000000 08:02 135522  /usr/lib64/ld\-2.15.so
35b1a1f000\-35b1a20000 r\-\-p 0001f000 08:02 135522  /usr/lib64/ld\-2.15.so
35b1a20000\-35b1a21000 rw\-p 00020000 08:02 135522  /usr/lib64/ld\-2.15.so
35b1a21000\-35b1a22000 rw\-p 00000000 00:00 0
35b1c00000\-35b1dac000 r\-xp 00000000 08:02 135870  /usr/lib64/libc\-2.15.so
35b1dac000\-35b1fac000 \-\-\-p 001ac000 08:02 135870  /usr/lib64/libc\-2.15.so
35b1fac000\-35b1fb0000 r\-\-p 001ac000 08:02 135870  /usr/lib64/libc\-2.15.so
35b1fb0000\-35b1fb2000 rw\-p 001b0000 08:02 135870  /usr/lib64/libc\-2.15.so
\&...
f2c6ff8c000\-7f2c7078c000 rw\-p 00000000 00:00 0    [stack:986]
\&...
7fffb2c0d000\-7fffb2c2e000 rw\-p 00000000 00:00 0   [stack]
7fffb2d48000\-7fffb2d49000 r\-xp 00000000 00:00 0   [vdso]
.fi
.in

\fIaddress\fP フィールドは、 そのマッピングが占めているプロセスのアドレス空間である。 \fIperms\fP
フィールドはパーミッションのセットである。

.nf
.in +5
r = read
w = write
x = execute
s = shared
p = private (copy on write)
.fi
.in

\fIoffset\fP はファイル (などの) 中でのオフセット、 \fIdev\fP はデバイス (メジャーデバイス番号:マイナーデバイス番号)、
\fIinode\fP はそのデバイスの i ノード番号である。 0 は、BSS (初期化されていないデータ領域) の場合のように、 このメモリー領域はどの
i ノードとも関連付けられていないことを意味する。

\fIpathname\fP フィールドは、 通常そのマッピングに対応するファイルである。 ELF ファイルの場合、 ELF プログラムヘッダーの
Offset フィールドを見ることで (\fIreadelf\ \-l\fP))、 簡単に \fIoffset\fP との対応付けをすることができる。

これに加え、 役に立つ擬似パス名がある。
.RS 12
.TP 
\fI[stack]\fP
初期プロセスのスタック (初期プロセスはメインスレッドとも呼ばれる)。
.TP 
\fI[stack:<tid>]\fP (Linux 3.4 以降)
.\" commit b76437579d1344b612cf1851ae610c636cec7db0
スレッドのスタック (\fI<tid>\fP はスレッド ID である)。 パス \fI/proc/[pid]/task/[tid]/\fP
に対応する。
.TP 
\fI[vdso]\fP
動的にリンクされる仮想共有オブジェクト (virtual dynamically linked shared object)。
.TP 
\fI[heap]\fP
プロセスのヒープ。
.in
.RE
.IP
\fIpathname\fP が空の場合、 その領域は \fBmmap\fP(2) を使って確保された無名マッピングである。 \fBgdb\fP(1),
\fBstrace\fP(1) などを使ってプロセスを実行しない限り、 この領域をプロセスのソースと対応付ける簡単な方法はない。

Linux 2.0 ではパス名を書いたフィールドがない。
.TP 
\fI/proc/[pid]/mem\fP
このファイルは、 \fBopen\fP(2), \fBread\fP(2), \fBlseek\fP(2)
を通して、プロセスのメモリーのページにアクセスするために使われる。
.TP 
\fI/proc/[pid]/mountinfo\fP (Linux 2.6.26 以降)
.\" This info adapted from Documentation/filesystems/proc.txt
このファイルには、マウントポイントについての情報が入っている。 以下のような形式の行から構成される。
.nf

\f(CW36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 \- ext3 /dev/root rw,errors=continue
(1)(2)(3)   (4)   (5)      (6)      (7)   (8) (9)   (10)         (11)\fP
.fi
.IP
括弧付きの数字は、以下の説明のためのものである。
.RS 7
.TP  5
(1)
マウント ID: マウントの一意な識別子 (\fBumount\fP(2)  の後は再利用されるかもしれない)。
.TP 
(2)
parent ID: 親マウントの ID (マウントツリーの最上位の場合は自分自身の ID となる)。
.TP 
(3)
major:minor: ファイルシステム上のファイルの \fIst_dev\fP の値 (\fBstat\fP(2)  参照)。
.TP 
(4)
ルート: そのファイルシステム内のマウントのルート。
.TP 
(5)
マウントポイント: マウントポイントのそのプロセスのルートからの相対パス。
.TP 
(6)
マウントオプション: 各マウントのオプション。
.TP 
(7)
オプションフィールド: "tag[:value]" 形式のフィールドが 0 個以上並ぶ。
.TP 
(8)
セパレータ: オプションフィールドの終わりを示す。
.TP 
(9)
ファイルシステム種別: ファイルシステムの名前。 "type[.subtype]" という形式となる。
.TP 
(10)
マウント元: ファイルシステム固有の情報。ない場合は "none" となる。
.TP 
(11)
super options: スーパーブロック単位のオプション。
.RE
.IP
解釈する側は認識できないオプションフィールドは全て無視すべきである。 現在のところ、オプションフィールドとしては以下のようなものがある。
.RS 12
.TP  18
shared:X
マウントはピアグループ (peer group) X で共有されている。
.TP 
master:X
マウントはピアグループ (peer group) X のスレーブである。
.TP 
propagate_from:X
マウントはスレーブであり、ピアグループ X (*) から mount propagation を受信する。
.TP 
unbindable
マウントは unbind できない。
.RE
.IP
(*) X は、プロセスの root で直近の dominant peer group である。 X がマウントの直接のマスターである場合や、 同じ
root に dominant peer group がない場合は、 "master:X" フィールドだけが存在し、
"propagate_from:X" フィールドは存在しない。

mount propagation の詳細については、 Linux カーネルソースツリー内の
\fIDocumentation/filesystems/sharedsubtree.txt\fP を参照。
.TP 
\fI/proc/[pid]/mounts\fP (Linux 2.4.19 以降)
そのプロセスのマウント名前空間に現在マウントされている 全ファイルシステムのリスト。 このファイルのフォーマットは \fBfstab\fP(5)
に載っている。 カーネル 2.6.15 以降では、このファイルを監視することができる (pollable)。
このファイルを読み出し用にオープンした後で、このファイルに変更があると (つまりファイルシステムのマウントやアンマウントがあると)、
\fBselect\fP(2)  ではそのファイルディスクリプターは読み出し可能となり、 \fBpoll\fP(2)  と \fBepoll_wait\fP(2)
ではそのファイルはエラー状態として通知される。 詳細は \fBnamespaces\fP(7) を参照。
.TP 
\fI/proc/[pid]/mountstats\fP (Linux 2.6.17 以降)
このファイルを通じて、そのプロセスのマウント名前空間内のマウントポイントに関する 各種情報 (統計、設定情報) を参照できる。
ファイルの各行は以下のフォーマットである。
.nf

device /dev/sda7 mounted on /home with fstype ext3 [statistics]
(       1      )            ( 2 )             (3 ) (4)
.fi
.IP
各行のフィールドは以下の通りである。
.RS 7
.TP  5
(1)
マウントされているデバイス名 (対応するデバイスがない場合は "nodevice" となる)。
.TP 
(2)
マウントポイントのファイルシステムツリーにおけるパス名。
.TP 
(3)
ファイルシステム種別。
.TP 
(4)
追加の統計や設定情報。 現在のところ (Linux 2.6.26 時点では)、 このフィールドで情報が提供されているのは NFS
ファイルシステムだけである。
.RE
.IP
このファイルはプロセスの所有者だけが読み出すことができる。

詳しい情報は \fBnamespaces\fP(7) を参照。
.TP 
\fI/proc/[pid]/ns/\fP (Linux 3.0 以降)
.\" See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f
このサブディレクトリには、名前空間毎に 1 エントリーが置かれる。
各エントリーは \fBsetns\fP(2) による操作をサポートしている。
詳細な情報は \fBnamespaces\fP(7) を参照。

.TP 
\fI/proc/[pid]/numa_maps\fP (Linux 2.6.14 以降)
\fBnuma\fP(7)  を参照。
.TP 
\fI/proc/[pid]/oom_adj\fP (Linux 2.6.11 以降)
このファイルは、メモリー不足 (OOM) の状況下でどのプロセスを殺すべきかを選択す
るのに使用されるスコアを調整するのに使用される。カーネルは、プロセスの
\fIoom_score\fP 値のビットシフト操作に、この値を使用する。この値として有効な値
は \-16 から +15 までと、特別な意味を持つ \-17 である。 \-17 はそのプロセス
に対する OOM\-killing を完全に無効にすることを意味する。正の値ほど、そのプロ
セスが OOM\-killer により殺される可能性が高くなり、負の値ほど可能性が低くなる。
.IP
このファイルのデフォルト値は 0 である。 新しいプロセスは親プロセスの \fIoom_adj\fP の設定を継承する。
このファイルを変更するためには、プロセスは特権 (\fBCAP_SYS_RESOURCE\fP) を持っていなければならない。
.IP
Linux 2.6.36 以降では、 このファイルの使用は非推奨とされ、 代わりに \fI/proc/[pid]/oom_score_adj\fP
が推奨されている。
.TP 
\fI/proc/[pid]/oom_score\fP (Linux 2.6.11 以降)
.\" See mm/oom_kill.c::badness() in the 2.6.25 sources
.\" See mm/oom_kill.c::badness() in the 2.6.25 sources
このファイルは、OOM\-killer のプロセス選択用として、カーネルが このプロセス
に対して与えた現在のスコアを表示する。 高いスコアは、そのプロセスが
OOM\-killer により選択される 可能性が高いことを意味する。 このスコアの基本は
そのプロセスが使用しているメモリー量であり、 以下の要因により加算 (+) 減算 (\-)
が行われる。
.RS
.IP * 2
そのプロセスが多くの子プロセスを \fBfork\fP(2)  を使って作成しているか (+)。
.IP *
そのプロセスが長時間実行されて来たか、
もしくは 多くの CPU 時間を使用しているか (\-)。
.IP *
そのプロセスが低い nice 値 (> 0) を持っているか (+)。
.IP *
.\" More precisely, if it has CAP_SYS_ADMIN or CAP_SYS_RESOURCE
そのプロセスが特権を持っているか (\-)。
.IP *
.\" More precisely, if it has CAP_SYS_RAWIO
そのプロセスが direct hardware access を行っているか (\-)。
.RE
.IP
\fIoom_score\fP は、そのプロセスの \fIoom_score_adj\fP や \fIoom_adj\fP 設定で規定される調整にも影響を与える。
.TP 
\fI/proc/[pid]/oom_score_adj\fP (Linux 2.6.36 以降)
.\" Text taken from 3.7 Documentation/filesystems/proc.txt
This file can be used to adjust the badness heuristic used to select which
process gets killed in out\-of\-memory conditions.

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.

There is an additional factor included in the badness score: root processes
are given 3% extra memory over other tasks.

The 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 (see \fBcpuset\fP(7)).  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.

The value of \fIoom_score_adj\fP 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 user space to
control the preference for OOM\-killing, ranging from always preferring a
certain task or completely disabling it from OOM killing.  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.

Consequently, it is very simple for user space to define the amount of
memory to consider for each task.  Setting a \fIoom_score_adj\fP 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.

For backward compatibility with previous kernels, \fI/proc/[pid]/oom_adj\fP can
still be used to tune the badness score.  Its value is scaled linearly with
\fIoom_score_adj\fP.

Writing to \fI/proc/[pid]/oom_score_adj\fP or \fI/proc/[pid]/oom_adj\fP will
change the other with its scaled value.
.TP 
\fI/proc/[pid]/pagemap\fP (Linux 2.6.25 以降)
このファイルは、 プロセスの各仮想ページの物理ページフレームやスワップ領域へのマッピングを表示する。
各仮想ページに 64 ビットの値 1 つが対応し、 各ビットは以下のとおりである。
.RS 12
.TP 
63
セットされている場合、 このページは RAM に存在する。
.TP 
62
セットされている場合、 このページはスワップ領域に存在する。
.TP 
61 (Linux 3.5 以降)
このページはファイルマップされたページか共有無名ページである。
.TP 
60\-56 (Linux 3.11 以降)
.\" Not quite true; see commit 541c237c0923f567c9c4cabb8a81635baadc713f
ゼロ。
.TP 
55 (Linux 3.11 以降)
PTE が soft\-dirty である (カーネルのソースファイル \fIDocumentation/vm/soft\-dirty.txt\fP を参照)。
.TP 
54\-0
このページが RAM に存在する場合 (ビット 63)、 これらのビットはページフレーム番号を示す。 このページフレーム番号は
\fI/proc/kpageflags\fP と \fI/proc/kpagecount\fP のインデックスに使用できる。 このページがスワップに存在する場合
(ビット 62)、 ビット 4\-0 はスワップ種別を示し、 ビット 54\-5 はスワップオフセットを示す。
.RE
.IP
Linux 3.11 より前では、 ビット 60\-55 はページサイズの基数 2 の log を示すのに使われていた。
.IP
\fI/proc/[pid]/pagemap\fP を効率的に活用するには、 \fI/proc/[pid]/maps\fP
を使ってメモリーのどの領域が実際にマップされているかを判断し、 seek でマップされていない領域をスキップするのがよい。
.IP
\fI/proc/[pid]/pagemap\fP ファイルが存在するのは、カーネルのコンフィギュレーションオプション
\fBCONFIG_PROC_PAGE_MONITOR\fP を有効にした場合だけである。
.TP 
\fI/proc/[pid]/personality\fP (Linux 2.6.28 以降)
.\" commit 478307230810d7e2a753ed220db9066dfdf88718
This read\-only file exposes the process's execution domain, as set by
\fBpersonality\fP(2).  The value is displayed in hexadecimal notation.
.TP 
\fI/proc/[pid]/root\fP
UNIX と Linux では、 ファイルシステムのルート (/) をプロセスごとに別々にできる。 これはシステムコール \fBchroot\fP(2)
によって設定する。 このファイルはプロセスのルートディレクトリを指すシンボリックリンクで、 \fIexe\fP や \fIfd/*\fP
などと同じような動作をする。

.\" The following was still true as at kernel 2.6.13
.\" FIXME Describe /proc/[pid]/projid_map
.\"       Added in 3.7, commit f76d207a66c3a53defea67e7d36c3eb1b7d6d61d
.\" FIXME Describe /proc/[pid]/seccomp
.\"       Added in 2.6.12
.\"
.\" FIXME Describe /proc/[pid]/sessionid
.\"       Added in 2.6.25; read-only; only readable by real UID
.\"	  commit 1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc
.\"       CONFIG_AUDITSYSCALL
.\"
.\" FIXME Describe /proc/[pid]/sched
.\"       Added in 2.6.23
.\"       CONFIG_SCHED_DEBUG, and additional fields if CONFIG_SCHEDSTATS
.\"       Displays various scheduling parameters
.\"       This file can be written, to reset stats
.\"       The set of fields exposed by this file have changed
.\"	  significantly over time.
.\"       commit 43ae34cb4cd650d1eb4460a8253a8e747ba052ac
.\"
.\" FIXME Describe /proc/[pid]/schedstats and
.\"       /proc/[pid]/task/[tid]/schedstats
.\"       Added in 2.6.9
.\"       CONFIG_SCHEDSTATS
マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このシンボリックリンクの内容は参照できない (スレッドの終了は通常
\fBpthread_exit\fP(3)  を呼び出しにより行われる)。
.TP 
\fI/proc/[pid]/smaps\fP (Linux 2.6.14 以降)
このファイルは、そのプロセスの各マッピングのメモリー消費量を表示する (\fBpmap\fP(1)
コマンドは解析しやすいであろう形式で同様の情報を表示する)。 マッピングのそれぞれについて、以下のような内容が表示される。
.in +4n
.nf

00400000\-0048a000 r\-xp 00000000 fd:03 960637       /bin/bash
Size:                552 kB
Rss:                 460 kB
Pss:                 100 kB
Shared_Clean:        452 kB
Shared_Dirty:          0 kB
Private_Clean:         8 kB
Private_Dirty:         0 kB
Referenced:          460 kB
Anonymous:             0 kB
AnonHugePages:         0 kB
Swap:                  0 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Locked:                0 kB

.fi
.in
最初の行には、 \fI/proc/[pid]/maps\fP で表示されるマッピングと同じ情報が表示される。 残りの行には、マッピングのサイズ、現在 RAM
上に存在するマッピングの量 ("Rss")、 このマッピングのこのプロセスの proportional share ("Pss")、
マッピング内の共有ページのうちクリーンなページ数とダーティページ数、
マッピング内のプライベートページのうちクリーンなページ数とダーティページ数、を示す。 "Referenced" は参照された (referenced)
かアクセスされたと現在印が付いているメモリー量を示す。 "Anonymous" はどのファイルにも属していないメモリー量を示す。 "Swap"
は使用中だがスワップされている無名メモリー (would\-be\-anonymous memory) の量を示す。

The "KernelPageSize" entry is the page size used by the kernel to back a
VMA.  This matches the size used by the MMU in the majority of cases.
However, one counter\-example occurs on PPC64 kernels whereby a kernel using
64K as a base page size may still use 4K pages for the MMU on older
processors.  To distinguish, this patch reports "MMUPageSize" as the page
size used by the MMU.

The "Locked" indicates whether the mapping is locked in memory or not.

"VmFlags" field represents the kernel flags associated with the particular
virtual memory area in two letter encoded manner.  The codes are the
following:

    rd  \- readable
    wr  \- writable
    ex  \- executable
    sh  \- shared
    mr  \- may read
    mw  \- may write
    me  \- may execute
    ms  \- may share
    gd  \- stack segment grows down
    pf  \- pure PFN range
    dw  \- disabled write to the mapped file
    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
    nl  \- non\-linear mapping
    ar  \- architecture specific flag
    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

\fI/proc/[pid]/smaps\fP ファイルが存在するのは、カーネルのコンフィギュレーションオプション
\fBCONFIG_PROC_PAGE_MONITOR\fP を有効にした場合だけである。
.TP 
\fI/proc/[pid]/stack\fP (Linux 2.6.29 以降)
.\" 2ec220e27f5040aec1e88901c1b6ea3d135787ad
This file provides a symbolic trace of the function calls in this process's
kernel stack.  This file is provided only if the kernel was built with the
\fBCONFIG_STACKTRACE\fP configuration option.
.TP 
\fI/proc/[pid]/stat\fP
プロセスの状態についての情報。 これは \fBps\fP(1)  で使われ、 カーネルのソースファイル \fIfs/proc/array.c\fP
で定義されている。

各フィールドを順番に、 \fBscanf\fP(3)  のフォーマット指定子付きで以下に示す。
.RS
.TP  10
(1) \fIpid\fP \ %d
.br
プロセス ID。
.TP 
(2) \fIcomm\fP \ %s
括弧でくくられた実行形式のファイル名。 実行形式がスワップアウトされているかどうかによらず、 見ることができる。
.TP 
(3) \fIstate\fP \ %c
プロセスの状態を示す、以下のいずれか 1 文字。
.RS
.IP R 3
実行中 (Running)
.IP S
Sleeping in an interruptible wait
.IP D
Waiting in uninterruptible disk sleep
.IP Z
ゾンビ (Zombie)
.IP T
(シグナルでの) 停止、または (Linux 2.6.33 より前では) トレースによる停止
.IP t
.\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
トレースによる停止 (Tracing stop) (Linux 2.6.33 以降)
.IP W
ページング中 (Linux 2.6.0 より前のみ)
.IP X
死亡 (Dead) (Linux 2.6.0 以降)
.IP x
.\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
.\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
死亡 (Dead) (Linux 2.6.33 から 3.13 までのみ)
.IP K
.\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
.\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
Wakekill (Linux 2.6.33 から 3.13 までのみ)
.IP W
.\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
.\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
Waking (Linux 2.6.33 から 3.13 までのみ)
.IP P
.\" commit f2530dc71cf0822f90bb63ea4600caaef33a66bb
.\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
Parked (Linux 3.9 から 3.13 までのみ)
.RE
.TP 
(4) \fIppid\fP \ %d
このプロセスの親プロセスの PID。
.TP 
(5) \fIpgrp\fP \ %d
プロセスのプロセスグループ ID。
.TP 
(6) \fIsession\fP \ %d
プロセスのセッション ID。
.TP 
(7) \fItty_nr\fP \ %d
プロセスの制御端末 (マイナーデバイス番号はビット 31〜20 と 7〜0 にまたがって格納され、 メジャーデバイス番号はビット 15〜8
に格納される)。
.TP 
(8) \fItpgid\fP \ %d
.\" This field and following, up to and including wchan added 0.99.1
プロセスの制御端末のフォアグランド・プロセスグループの ID。
.TP 
(9) \fIflags\fP \ %u
プロセスのカーネルフラグワード。 ビットの意味は、 \fI<linux/sched.h>\fP で定義されている PF_* を参照すること。
詳細はカーネルのバージョンに依存する。

このフィールドのフォーマットは Linux 2.6 より前では %lu であった。
.TP 
(10) \fIminflt\fP \ %lu
プロセスが引き起こしたマイナーフォールト (minor fault、ディスクから メモリーページへのロードを必要としないフォールト) の回数。
.TP 
(11) \fIcminflt\fP \ %lu
(そのプロセスが終了を待っている) 子プロセスが引き起こしたマイナーフォールトの回数。
.TP 
(12) \fImajflt\fP \ %lu
プロセスが引き起こしたメジャーフォールト (major fault、ディスクからメモリーページへのロードを必要とするフォールト) の回数。
.TP 
(13) \fIcmajflt\fP \ %lu
(そのプロセスが終了を待っている) 子プロセスが引き起こしたメジャーフォールトの回数。
.TP 
(14) \fIutime\fP \ %lu
このプロセスがユーザーモードでスケジューリングされた時間の合計。 clock tick 単位で計測される
(\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 この値にはゲスト時間 \fIguest_time\fP (仮想 CPU
の実行に消費された時間)
も含まれる。これは、ゲスト時間のフィールドを認識しないアプリケーションにおいて、ゲスト時間分を計算に入れ損ねないようにするためである。
.TP 
(15) \fIstime\fP \ %lu
プロセスのカーネルモードでの実行時間 (単位 jiffies)。 このプロセスがカーネルモードでスケジューリングされた時間の合計。 clock tick
単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。
.TP 
(16) \fIcutime\fP \ %ld
このプロセスの子プロセスで、終了待ち (waited\-for) のプロセスが、 ユーザーモードでスケジューリングされた時間の合計。 clock tick
単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 (\fBtimes\fP(2)  も参照すること。)
この値にはゲスト時間 \fIcguest_time\fP (仮想 CPU を実行するのに消費した時間、下記参照) も含まれる。
.TP 
(17) \fIcstime\fP \ %ld
このプロセスの子プロセスで、終了待ち (waited\-for) のプロセスが、カーネルモードでスケジューリングされた時間の合計。 clock tick
単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。
.TP 
(18) \fIpriority\fP \ %ld
(Linux 2.6 の場合の説明) リアルタイムスケジューリングポリシー (下記の
\fIpolicy ;\fP \fBsched_setscheduler\fP(2) 参照) で動作しているプロセスでは、 この
値はスケジューリング優先度を反転した値 (スケジューリング優先度を マイナスにし
た値) となる。値は \-2 から \-100 までの範囲の数値で、 それぞれリアルタイム優先
度の 1 から 99 に対応する。 リアルタイム以外のスケジューリングポリシーで動作し
ているプロセスでは、 この値はカーネル内で管理されている nice 値そのもの
(\fBsetpriority\fP(2)) となる。 カーネルは nice 値を 0 (高) から 39 (低) の範囲
の値として保持しており、 それぞれユーザーに見える nice 値の \-20 から 19 に対応
する。

.\" And back in kernel 1.2 days things were different again.
Linux 2.6 より前では、このプロセスに割り当てられたスケジューリング 重みを変換した値が表示されていた。
.TP 
(19) \fInice\fP \ %ld
.\" Back in kernel 1.2 days things were different.
.\" .TP
.\" \fIcounter\fP %ld
.\" The current maximum size in jiffies of the process's next timeslice,
.\" or what is currently left of its current timeslice, if it is the
.\" currently running process.
.\" .TP
.\" \fItimeout\fP %u
.\" The time in jiffies of the process's next timeout.
.\" timeout was removed sometime around 2.1/2.2
nice 値 (\fBsetpriority\fP(2) 参照)。 19 (最低優先) から \-20 (最高優先)
の範囲の値である。
.TP 
(20) \fInum_threads\fP \ %ld
このプロセスのスレッド数 (Linux 2.6 以降)。 カーネル 2.6 より前では、このフィールドは削除されたフィールドの 場所埋めとして 0
にハードコードされていた。
.TP 
(21) \fIitrealvalue\fP \ %ld
インターバルタイマーによって、次に \fBSIGALRM\fP がプロセスへ送られるまでの時間 (単位 jiffies)。 カーネル 2.6.17
以降では、このフィールドはメンテナンスされなくなり、 0 にハードコードされている。
.TP 
(22) \fIstarttime\fP \ %llu
プロセスの起動時刻。システムが起動した時刻が起点である。 Linux 2.6 より前のカーネルでは、 この値の単位は jiffies であった。
Linux 2.6 以降では、 値の単位はクロック tick である (\fIsysconf(_SC_CLK_TCK)\fP で割った値となる)。

このフィールドのフォーマットは Linux 2.6 より前では %lu であった。
.TP 
(23) \fIvsize\fP \ %lu
仮想メモリーのサイズ。単位はバイト。
.TP 
(24) \fIrss\fP \ %ld
Resident Set Size。プロセスが持っている実メモリー上のページ数。
これはちょうどテキスト、データ、スタック空間に使われているページ数である。 デマンドロードされていないページや
スワップアウトされたページの数は含んでいない。
.TP 
(25) \fIrsslim\fP \ %lu
このプロセスの rss の現在のソフトリミット (バイト単位)。 \fBgetrlimit\fP(2) の \fBRLIMIT_RSS\fP の説明を参照。
.TP 
(26) \fIstartcode\fP \ %lu
プログラムテキストが実行可能であるような領域の先頭アドレス。
.TP 
(27) \fIendcode\fP \ %lu
プログラムテキストが実行可能であるような領域の末尾アドレス。
.TP 
(28) \fIstartstack\fP \ %lu
スタックの開始アドレス (すなわち、スタックの底)。
.TP 
(29) \fIkstkesp\fP \ %lu
現在の ESP (スタックポインター) の値。 プロセスのカーネルスタックページにある。
.TP 
(30) \fIkstkeip\fP \ %lu
現在の EIP (インストラクションポインター) の値。
.TP 
(31) \fIsignal\fP \ %lu
処理待ちのシグナルのビットマップ。 10
進数で表示される。このフィールドは廃止予定である。リアルタイムシグナルに関する情報は表示されないからである。代わりに
\fI/proc/[pid]/status\fP を使うこと。
.TP 
(32) \fIblocked\fP \ %lu
ブロックされた (blocked) シグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。
リアルタイムシグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。
.TP 
(33) \fIsigignore\fP \ %lu
無視された (ignored) シグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。
リアルタイムシグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。
.TP 
(34) \fIsigcatch\fP \ %lu
捕捉された (caught) シグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。
リアルタイムシグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。
.TP 
(35) \fIwchan\fP \ %lu
This is the "channel" in which the process is waiting.  It is the address of
a location in the kernel where the process is sleeping.  The corresponding
symbolic name can be found in \fI/proc/[pid]/wchan\fP.
.TP 
(36) \fInswap\fP \ %lu
.\" nswap was added in 2.0
スワップされたページ数 (メンテナンスされていない)。
.TP 
(37) \fIcnswap\fP \ %lu
.\" cnswap was added in 2.0
子プロセスの \fInswap\fP の累計 (メンテナンスされていない)。
.TP 
(38) \fIexit_signal\fP \ %d \ (Linux 2.1.22 以降)
プロセスが死んだときに親プロセスに送られるシグナル。
.TP 
(39) \fIprocessor\fP \ %d \ (Linux 2.2.8 以降)
このプロセスを最後に実行した CPU の番号。
.TP 
(40) \fIrt_priority\fP \ %u \ (Linux 2.5.19 以降)
リアルタイムスケジューリングの優先度。 リアルタイムポリシーの元でスケジューリングされるプロセスでは 1 から 99 の範囲の値となり、
リアルタイム以外のスケジューリングポリシーのプロセスでは 0 となる (\fBsched_setscheduler\fP(2)  参照)。
.TP 
(41) \fIpolicy\fP \ %u \ (Linux 2.5.19 以降)
スケジューリングポリシー (\fBsched_setscheduler\fP(2)  参照)。 値は、 \fIlinux/sched.h\fP の SCHED_*
定数を使ってデコードすればよい。

このフィールドのフォーマットは Linux 2.6.22 より前は %lu であった。
.TP 
(42) \fIdelayacct_blkio_ticks\fP \ %llu \ (Linux 2.6.18 以降)
(clock tick (100分の1秒) 単位での) ブロック I/O の総遅延量。
.TP 
(43) \fIguest_time\fP \ %lu \ (Linux 2.6.24 以降)
プロセスのゲスト時間 (ゲスト OS の仮想 CPU を実行するのに消費された時間)。 clock tick 単位で計測される
(\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。
.TP 
(44) \fIcguest_time\fP \ %ld \ (Linux 2.6.24 以降)
プロセスの子プロセスのゲスト時間。 clock tick 単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。
.TP 
(45) \fIstart_data\fP \ %lu \ (Linux 3.3 以降)
.\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff
Address above which program initialized and uninitialized (BSS) data are
placed.
.TP 
(46) \fIend_data\fP \ %lu \ (Linux 3.3 以降)
.\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff
Address below which program initialized and uninitialized (BSS) data are
placed.
.TP 
(47) \fIstart_brk\fP \ %lu \ (Linux 3.3 以降)
.\" commit b3f7f573a20081910e34e99cbc91831f4f02f1ff
Address above which program heap can be expanded with \fBbrk\fP(2).
.TP 
(48) \fIarg_start\fP \ %lu \ (Linux 3.5 以降)
.\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
プログラムのコマンドライン引き数 (\fIargv\fP) が置かれる開始アドレス。
.TP 
(49) \fIarg_end\fP \ %lu \ (Linux 3.5 以降)
.\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
プログラムのコマンドライン引き数 (\fIargv\fP) が置かれる終了アドレス。
.TP 
(50) \fIenv_start\fP \ %lu \ (Linux 3.5 以降)
.\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
プログラムの環境 (environment) が置かれる開始アドレス。
.TP 
(51) \fIenv_end\fP \ %lu \ (Linux 3.5 以降)
.\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
プログラムの環境 (environment) が置かれる終了アドレス。
.TP 
(52) \fIexit_code\fP \ %d \ (Linux 3.5 以降)
.\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
\fBwaitpid\fP(2) が報告する形式のスレッドの終了ステータス。
.RE
.TP 
\fI/proc/[pid]/statm\fP
(ページ単位で計測した) メモリー使用量についての情報を提供する。 各列は以下の通りである。
.in +4n
.nf

.\" (not including libs; broken, includes data segment)
.\" (including libs; broken, includes library text)
size       プログラムサイズの総計
           (\fI/proc/[pid]/status\fP の VmSize と同じ)
resident   実メモリー上に存在するページ
           (\fI/proc/[pid]/status\fP の VmRSS と同じ)
share      共有ページ (ファイルと関連付けられているページ)
text       テキスト (コード)
lib        ライブラリ (Linux 2.6 では未使用)
data       データ + スタック
dt         ダーティページ (Linux 2.6 では未使用)
.fi
.in
.TP 
\fI/proc/[pid]/status\fP
\fI/proc/[pid]/stat\fP と \fI/proc/[pid]/statm\fP にある多くの情報を、人間が解析しやすい形式で提供する。
以下に例を示す。
.in +4n
.nf

$\fB cat /proc/$$/status\fP
Name:   bash
State:  S (sleeping)
Tgid:   3515
Pid:    3515
PPid:   3452
TracerPid:      0
Uid:    1000    1000    1000    1000
Gid:    100     100     100     100
FDSize: 256
Groups: 16 33 100
VmPeak:     9136 kB
VmSize:     7896 kB
VmLck:         0 kB
VmHWM:      7572 kB
VmRSS:      6316 kB
VmData:     5224 kB
VmStk:        88 kB
VmExe:       572 kB
VmLib:      1708 kB
VmPTE:        20 kB
VmSwap:        0 kB
Threads:        1
SigQ:   0/3067
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000010000
SigIgn: 0000000000384004
SigCgt: 000000004b813efb
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
Seccomp:        0
Cpus_allowed:   00000001
Cpus_allowed_list:      0
Mems_allowed:   1
Mems_allowed_list:      0
voluntary_ctxt_switches:        150
nonvoluntary_ctxt_switches:     545
.fi
.in
.IP
フィールドの詳細は以下の通りである。
.RS
.IP * 2
\fIName\fP: このプロセスにより実行されたコマンド。
.IP *
\fIState\fP: プロセスの現在の状態。 "R (running; 実行中)", "S (sleeping; 休眠状態)", "D (disk
sleep; ディスク待ちの休眠状態)", "T (stopped; 停止状態)", "T (tracing stop; トレースによる停止)", "Z
(zombie; ゾンビ状態)", "X (dead; 死亡)" のいずれかである。
.IP *
\fITgid\fP: スレッドグループ ID (すなわち、プロセス ID)。
.IP *
\fIPid\fP: スレッド ID (\fBgettid\fP(2)  参照)。
.IP *
\fIPPid\fP: 親プロセスの PID。
.IP *
\fITracerPid\fP: このプロセスをトレースしているプロセスの PID (トレースされていない場合は 0)。
.IP *
\fIUid\fP, \fIGid\fP: 実 UID/GID、実効 UID/GID、保存 set\-UID/GID、ファイルシステム UID/GID。
.IP *
\fIFDSize\fP: 現在割り当てられているファイルディスクリプターのスロット数。
.IP *
\fIGroups\fP: 補助グループのリスト。
.IP *
\fIVmPeak\fP: 仮想メモリーサイズのピーク値。
.IP *
\fIVmSize\fP: 仮想メモリーサイズ。
.IP *
\fIVmLck\fP: ロックされているメモリーサイズ (\fBmlock\fP(3) 参照)。
.IP *
\fIVmHWM\fP: 実メモリー上に存在するページサイズ (resident set size)  のピーク値 ("high water mark")。
.IP *
\fIVmRSS\fP: 実メモリー上に存在するページサイズ。
.IP *
\fIVmData\fP, \fIVmStk\fP, \fIVmExe\fP: データ、スタック、テキストセグメントのサイズ。
.IP *
\fIVmLib\fP: 共有ライブラリコードのサイズ。
.IP *
\fIVmPTE\fP: ページテーブルエントリーのサイズ (Linux 2.6.10 以降)。
.IP *
.\" commit b084d4353ff99d824d3bc5a5c2c22c70b1fba722
\fIVmSwap\fP: スワップアウトされた仮想メモリーサイズ (Linux 2.6.34 以降).
.IP *
\fIThreads\fP: このスレッドが属するプロセスのスレッド数。
.IP *
\fISigQ\fP: このフィールドにはスラッシュで区切られた 2 つの数字が入っている。この数字はこのプロセスの実ユーザー ID
宛にキューイングされたシグナルに関するものである。一つ目の数字は、この実ユーザー ID
宛に現在キューイングされているシグナル数である。二つ目の数字は、このプロセス宛にキューイングされたシグナル数に関するリソース上限値である
(\fBgetrlimit\fP(2) の \fBRLIMIT_SIGPENDING\fP の説明を参照)。
.IP *
\fISigPnd\fP, \fIShdPnd\fP: スレッド宛およびプロセス全体宛の処理待ちシグナルの数 (\fBpthreads\fP(7),
\fBsignal\fP(7)  参照)。
.IP *
\fISigBlk\fP, \fISigIgn\fP, \fISigCgt\fP: ブロックされるシグナル、無視されるシグナル、捕捉待ちのシグナルを 示すマスク値
(\fBsignal\fP(7))。
.IP *
\fICapInh\fP, \fICapPrm\fP, \fICapEff\fP: 継承可能 (inheritable)、許可 (permitted)、実効
(effective)  の各ケーパビリティセットで有効になっているケーパビリティのマスク値 (\fBcapabilities\fP(7)  参照)。
.IP *
\fICapBnd\fP: ケーパビリティバウンディングセット (Linux 2.6.26 以降、 \fBcapabilities\fP(7)  参照)。
.IP *
.\" commit 2f4b3bf6b2318cfaa177ec5a802f4d8d6afbd816
\fISeccomp\fP: Seccomp mode of the process (since Linux 3.8, see
\fBseccomp\fP(2)).  0 means \fBSECCOMP_MODE_DISABLED\fP; 1 means
\fBSECCOMP_MODE_STRICT\fP; 2 means \fBSECCOMP_MODE_FILTER\fP.  This field is
provided only if the kernel was built with the \fBCONFIG_SECCOMP\fP kernel
configuration option enabled.
.IP *
\fICpus_allowed\fP: このプロセスが実行を許可されている CPU のマスク値 (Linux 2.6.24 以降、 \fBcpuset\fP(7)
参照)。
.IP *
\fICpus_allowed_list\fP: 前項と同じだが、「リスト形式」での表示 (Linux 2.6.26 以降、 \fBcpuset\fP(7)
参照)。
.IP *
\fIMems_allowed\fP: このプロセスが使用できるメモリーノードのマスク値 (Linux 2.6.24 以降、 \fBcpuset\fP(7)
参照)。
.IP *
\fIMems_allowed_list\fP: 前項と同じだが、「リスト形式」での表示 (Linux 2.6.26 以降、 \fBcpuset\fP(7)
参照)。
.IP *
\fIvoluntary_ctxt_switches\fP, \fInonvoluntary_ctxt_switches\fP:
自発的/非自発的なコンテキストスイッチの回数 (Linux 2.6.23 以降)。
.RE
.TP 
\fI/proc/[pid]/syscall\fP (Linux 2.6.27 以降)
.\" commit ebcb67341fee34061430f3367f2e507e52ee051b
This file exposes the system call number and argument registers for the
system call currently being executed by the process, followed by the values
of the stack pointer and program counter registers.  The values of all six
argument registers are exposed, although most system calls use fewer
registers.

If the process is blocked, but not in a system call, then the file displays
\-1 in place of the system call number, followed by just the values of the
stack pointer and program counter.  If process is not blocked, then file
contains just the string "running".

カーネルの設定で \fBCONFIG_HAVE_ARCH_TRACEHOOK\fP が有効になっている場合にのみ、このファイルは存在する。
.TP 
\fI/proc/[pid]/task\fP (Linux 2.6.0\-test6 以降)
このディレクトリには、そのプロセスのスレッド情報を含む サブディレクトリが 1 スレッドにつき 1 つ置かれる。
各サブディレクトリの名前はスレッドのスレッド ID (\fI[tid]\fP)  を示す数字である \fB(\fPgettid\fB(2)\fP を参照)。
これらの各サブディレクトリには、 \fI/proc/[pid]\fP ディレクトリ以下と同じ名前と内容のファイル群がある。
すべてのスレッドで共有される属性の場合、 \fItask/[tid]\fP サブディレクトリ以下の各ファイルの内容は 親ディレクトリ
\fI/proc/[pid]\fP の対応するファイルと同じになることだろう (例えば、マルチスレッドプロセスではファイル \fItask/[tid]/cwd\fP
はいずれも親ディレクトリ内の \fI/proc/[pid]/cwd\fP と同じ値を持つことになる。なぜなら、一つのプロセスに属すすべての
スレッドは作業ディレクトリを共有するからである)。 スレッド毎に独立な属性の場合、 \fItask/[tid]\fP
サブディレクトリ以下の各ファイルは異なる値を持つことがある (例えば、ファイル \fItask/[tid]/status\fP
はスレッド毎に異なる値を持つ可能性がある)。

.\" The following was still true as at kernel 2.6.13
マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 \fI/proc/[pid]/task\fP ディレクトリの内容は参照できない
(スレッドの終了は通常 \fBpthread_exit\fP(3)  を呼び出しにより行われる)。
.TP 
\fI/proc/[pid]/uid_map\fP, \fI/proc/[pid]/gid_map\fP (Linux 3.5 以降)
.\" commit 22d917d80e842829d0ca0a561967d728eb1d6303
These files expose the mappings for user and group IDs inside the user
namespace for the process \fIpid\fP.  The description here explains the details
for \fIuid_map\fP; \fIgid_map\fP is exactly the same, but each instance of "user
ID" is replaced by "group ID".

The \fIuid_map\fP file exposes the mapping of user IDs from the user namespace
of the process \fIpid\fP to the user namespace of the process that opened
\fIuid_map\fP (but see a qualification to this point below).  In other words,
processes that are in different user namespaces will potentially see
different values when reading from a particular \fIuid_map\fP file, depending
on the user ID mappings for the user namespaces of the reading processes.


Each line in the file specifies a 1\-to\-1 mapping of a range of contiguous
between two user namespaces.  The specification in each line takes the form
of three numbers delimited by white space.  The first two numbers specify
the starting user ID in each user namespace.  The third number specifies the
length of the mapped range.  In detail, the fields are interpreted as
follows:
.RS
.IP (1) 4
The start of the range of user IDs in the user namespace of the process
\fIpid\fP.
.IP (2)
The start of the range of user IDs to which the user IDs specified by field
one map.  How field two is interpreted depends on whether the process that
opened \fIuid_map\fP and the process \fIpid\fP are in the same user namespace, as
follows:
.RS
.IP a) 3
If the two processes are in different user namespaces: field two is the
start of a range of user IDs in the user namespace of the process that
opened \fIuid_map\fP.
.IP b)
If the two processes are in the same user namespace: field two is the start
of the range of user IDs in the parent user namespace of the process
\fIpid\fP.  (The "parent user namespace" is the user namespace of the process
that created a user namespace via a call to \fBunshare\fP(2)  or \fBclone\fP(2)
with the \fBCLONE_NEWUSER\fP flag.)  This case enables the opener of \fIuid_map\fP
(the common case here is opening \fI/proc/self/uid_map\fP)  to see the mapping
of user IDs into the user namespace of the process that created this user
namespace.
.RE
.IP (3)
The length of the range of user IDs that is mapped between the two user
namespaces.
.RE
.IP
After the creation of a new user namespace, the \fIuid_map\fP file may be
written to exactly once to specify the mapping of user IDs in the new user
namespace.  (An attempt to write more than once to the file fails with the
error \fBEPERM\fP.)
.IP
The lines written to \fIuid_map\fP must conform to the following rules:
.RS
.IP * 3
The three fields must be valid numbers, and the last field must be greater
than 0.
.IP *
Lines are terminated by newline characters.
.IP *
There is an (arbitrary) limit on the number of lines in the file.  As at
Linux 3.8, the limit is five lines.
.IP *
The range of user IDs specified in each line cannot overlap with the ranges
in any other lines.  In the current implementation (Linux 3.8), this
requirement is satisfied by a simplistic implementation that imposes the
further requirement that the values in both field 1 and field 2 of
successive lines must be in ascending numerical order.
.RE
.IP
Writes that violate the above rules fail with the error \fBEINVAL\fP.

In order for a process to write to the \fI/proc/[pid]/uid_map\fP
(\fI/proc/[pid]/gid_map\fP)  file, the following requirements must be met:
.RS
.IP * 3
The process must have the \fBCAP_SETUID\fP (\fBCAP_SETGID\fP)  capability in the
user namespace of the process \fIpid\fP.
.IP *
The process must have the \fBCAP_SETUID\fP (\fBCAP_SETGID\fP)  capability in the
parent user namespace.
.IP *
The process must be in either the user namespace of the process \fIpid\fP or
inside the parent user namespace of the process \fIpid\fP.
.RE
For further details, see \fBnamespaces\fP(7).
.TP 
\fI/proc/[pid]/wchan\fP (Linux 2.6.0 以降)
The symbolic name corresponding to the location in the kernel where the
process is sleeping.
.TP 
\fI/proc/apm\fP
Advanced Power Management のバージョンとバッテリ情報。 カーネルのコンパイル時に \fBCONFIG_APM\fP
を定義したときに存在する。
.TP 
\fI/proc/buddyinfo\fP
This file contains information which is used for diagnosing memory
fragmentation issues.  Each line starts with the identification of the node
and the name of the zone which together identify a memory region This is
then followed by the count of available chunks of a certain order in which
these zones are split.  The size in bytes of a certain order is given by the
formual:

    (2^order)\ *\ PAGE_SIZE

The binary buddy allocator algorithm inside the kernel will split one chunk
into two chunks of a smaller order (thus with half the size) or combine two
contiguous chunks into one larger chunk of a higher order (thus with double
the size) to satisfy allocation requests and to counter memory
fragmentation.  The order matches the column number, when starting to count
at zero.

For example on a x86_64 system:

.in -12n
.nf
Node 0, zone     DMA     1    1    1    0    2    1    1    0    1    1    3
Node 0, zone   DMA32    65   47    4   81   52   28   13   10    5    1  404
Node 0, zone  Normal   216   55  189  101   84   38   37   27    5    3  587
.fi
.in

In this example, there is one node containing three zones and there are 11
different chunk sizes.  If the page size is 4 kilobytes, then the first zone
called \fIDMA\fP (on x86 the first 16 megabyte of memory) has 1 chunk of 4
kilobytes (order 0) available and has 3 chunks of 4 megabytes (order 10)
available.

If the memory is heavily fragmented, the counters for higher order chunks
will be zero and allocation of large contiguous areas will fail.

Further information about the zones can be found in \fI/proc/zoneinfo\fP.
.TP 
\fI/proc/bus\fP
インストールされている各バス用にサブディレクトリがある。
.TP 
\fI/proc/bus/pccard\fP
PCMCIA デバイスの情報が書かれるサブディレクトリ。 カーネルのコンパイル時に \fBCONFIG_PCMCIA\fP を定義したときに存在する。
.TP 
\fI/proc/[pid]/timers\fP (Linux 3.10 以降)
.\" commit 5ed67f05f66c41e39880a6d61358438a25f9fee5
.\" commit 48f6a7a511ef8823fdff39afee0320092d43a8a0
このプロセスの POSIX タイマーのリスト。 各タイマーは文字列 "ID:" で始まる行に表示される。 例:

.in +4n
.nf
ID: 1
signal: 60/00007fff86e452a8
notify: signal/pid.2634
ClockID: 0
ID: 0
signal: 60/00007fff86e452a8
notify: signal/pid.2634
ClockID: 1
.fi
.in

各タイマーに表示される行の意味は次の通りである。
.RS
.TP 
\fIID\fP
このタイマーの ID。 この ID は \fBtimer_create\fP(2) が返すタイマー ID と同じではない。 \fIsiginfo_t\fP 構造化の
\fIsi_timerid\fP フィールドで参照できるカーネル内部での ID と同じである (\fBsigaction\fP(2) 参照)。
.TP 
\fIsignal\fP
このタイマーが通知の配送に使用するシグナル番号である。 スラッシュの後ろは、シグナルハンドラーに渡される
\fIsigev_value.sival_ptr\fP 値である。 シグナルで通知されるタイマーでのみ有効である。
.TP 
\fInotify\fP
スラッシュの前の部分は、このタイマーが使用する通知の配送方法であり、「スレッド」「シグナル」「なし」のいずれかである。 スラッシュのすぐ後には、
\fBSIGEV_THREAD_ID\fP 通知を行うタイマーでは文字列の "tid" が、 もしくは他の方法で通知するタイマーでは "pid"
が表示される。 "." の後ろは、 そのタイマーがシングルで通知を配送する場合にはシグナルの配送対象となるプロセスの PID である。
.TP 
\fIClockID\fP
このフィールドはタイマーが時間を計測するのに使用するクロックを示す。 ほとんどのクロックでは、このフィールドは \fI<time.h>\fP
で公開されるユーザー空間の \fBCLOCK_*\fP 定数のいずれかの数字である。 \fBCLOCK_PROCESS_CPUTIME_ID\fP
タイマーでは、このフィールドに \-6 が表示される。 \fBCLOCK_THREAD_CPUTIME_ID\fP タイマーでは \-2 が表示される。
.RE
.TP 
\fI/proc/bus/pccard/drivers\fP
.TP 
\fI/proc/bus/pci\fP
いくつかのサブディレクトリがあり、 PCI バス・インストールされているデバイス・ デバイスドライバの情報が書かれた仮想ファイルがある。
これらのファイルのうちいくつかは ASCII フォーマットではない。
.TP 
\fI/proc/bus/pci/devices\fP
PCI デバイスの情報。 \fBlspci\fP(8)  や \fBsetpci\fP(8)  でアクセスすることができる。
.TP 
\fI/proc/cmdline\fP
ブート時に Linux カーネルに渡された引き数。 引き数の受け渡しは、たいてい \fBlilo\fP(8)  や \fBgrub\fP(8)
といったブートマネージャを使って行われる。
.TP 
\fI/proc/config.gz\fP (Linux 2.6 以降)
このファイルでは、現在実行中のカーネルの構築時に使用された 設定オプションを参照できる。 書式は、 (\fImake xconfig\fP, \fImake
config\fP などを使って) カーネルの設定を変更した際に生成される \fI.config\fP ファイルのものと同じである。
ファイルの内容は圧縮されており、 \fBzcat\fP(1) や \fBzgrep\fP(1) を使うと、表示や検索ができる。 ファイルが変更されていない限り、
\fI/proc/config.gz\fP の内容は次のコマンドで得られる内容と同じである。
.in +4n
.nf

cat /lib/modules/$(uname \-r)/build/.config
.fi
.in
.IP
\fI/proc/config.gz\fP が提供されるのは、カーネルの設定で \fBCONFIG_IKCONFIG_PROC\fP
が有効になっている場合のみである。
.TP 
\fI/proc/cpuinfo\fP
このファイルは、CPU およびシステムアーキテクチャーに依存する項目を 集めたもので、リストの内容はサポートされているアーキテクチャー毎に異なる。 2
つだけ共通の項目がある。 \fIprocessor\fP はプロセッサ番号で、 \fIbogomips\fP はカーネルの初期化時に計算されるシステム定数である。
SMP マシンでは各 CPU についての情報が書かれている。 \fBlscpu\fP(1) コマンドはこのファイルから情報を収集する。
.TP 
\fI/proc/devices\fP
メジャーデバイス番号とデバイスグループのテキスト形式のリスト。 MAKEDEV スクリプトはこのファイルを使って、
カーネルとの整合性を保つことができる。
.TP 
\fI/proc/diskstats\fP (Linux 2.5.69 以降)
このファイルには各ディスクデバイスのディスク I/O 統計情報が書かれている。 更に詳しい情報は、Linux カーネルソースファイル
\fIDocumentation/iostats.txt\fP を参照すること。
.TP 
\fI/proc/dma\fP
登録されている \fIISA\fP DMA (direct memory access) チャネルのリスト。
.TP 
\fI/proc/driver\fP
空のサブディレクトリ。
.TP 
\fI/proc/execdomains\fP
実行ドメインのリスト (ABI パーソナリティ)。
.TP 
\fI/proc/fb\fP
カーネルのコンパイル時に \fBCONFIG_FB\fP が定義されている場合、フレームバッファーの情報が書かれる。
.TP 
\fI/proc/filesystems\fP
カーネルが対応しているファイルシステムのテキスト形式のリスト。 カーネルに組み込まれてコンパイルされたファイルシステムと、
カーネルモジュールが現在ロードされているファイルシステムが列挙される (\fBfilesystems\fP(5)  参照)。 ファイルシステムに
"nodev" という印が付いている場合、 そのファイルシステムがマウントするためのブロックデバイスを 必要としないことを意味する (例えば、
仮想ファイルシステム、ネットワークファイルシステムなど)。

ちなみに、マウント時にファイルシステムが指定されず、 どうやってもファイルシステムの種類を判定できなかった際に、 このファイルを \fBmount\fP(8)
が使用するかもしれない。 その場合、このファイルに含まれるファイルシステムが試される (ただし、"nodev" の印がついたものは除く)。
.TP 
\fI/proc/fs\fP
.\" FIXME Much more needs to be said about /proc/fs
.\"
マウントされているファイルシステムに関する情報を提供するファイルが入ったサブディレクトリが入っている。
.TP 
\fI/proc/ide\fP
このディレクトリは IDE バスをもつシステムに存在する。 各 IDE チャネルとそれに取り付けられている各デバイスごとにディレクトリがあり、
以下のファイルが含まれている。

.in +4n
.nf
cache              バッファーサイズ (KB)
capacity           セクタ数
driver             ドライバのバージョン
geometry           物理ジオメトリと論理ジオメトリ
identify           16 進数表記
media              メディアのタイプ
model              製造者のモデル番号
settings           ドライブの設定
smart_thresholds   16 進数表記
smart_values       16 進数表記
.fi
.in

\fBhdparm\fP(8)  ユーティリティは、分かりやすい形式で この情報にアクセスするための手段を提供する。
.TP 
\fI/proc/interrupts\fP
IO デバイス毎の CPU 別の割り込み回数の記録に使われる。 Linux 2.6.24 以降、少なくとも i386 と x86_64
アーキテクチャーでは、 (デバイスと関連がない) システム内部の割り込みについても記録される。 システム内部の割り込みには、NMI
(nonmaskable interrupt), LOC (local timer interrupt) や、SMP システムでは TLB (TLB
flush interrupt), RES (rescheduling interrupt), CAL (remote function call
interrupt)  などがある。 簡単に読むことのできるフォーマットで、ASCII で表記されている。
.TP 
\fI/proc/iomem\fP
Linux 2.4 における I/O メモリーマップ。
.TP 
\fI/proc/ioports\fP
現在登録され使われている I/O ポート領域のリスト。
.TP 
\fI/proc/kallsyms\fP (Linux 2.5.71 以降)
カーネルの外部シンボル定義を保持する。 \fBmodules\fP(X)  関係のツールがローダーブルモジュールを動的にリンクしたり バインド (bind)
するのに使われる。 Linux 2.5.47 以前では、微妙に異なる書式の似たようなファイルが \fIksyms\fP という名前であった。
.TP 
\fI/proc/kcore\fP
このファイルはシステムの物理メモリーを表現しており、 ELF コアファイル形式 (core file format) で保持されている。
この擬似ファイルと strip されていないカーネルのバイナリ (\fI/usr/src/linux/vmlinux\fP)  [訳注:
パッケージに依存する]) があれば、 GDB はカーネル内の任意のデータ構造の現在の状態を調べられる。

このファイルの大きさは物理メモリー (RAM) のサイズに 4KB を加えた値である。
.TP 
\fI/proc/kmsg\fP
このファイルは \fBsyslog\fP(2)  システムコールでカーネルメッセージを読み出す代りに使える。
プロセスがこのファイルを読むためにはスーパーユーザー権限が必要であり、 ファイルを読み出すのは 1 つのプロセスのみに限るべきである。
カーネルメッセージを記録するために、 \fBsyslog\fP(2)  システムコールの機能を使う syslog プロセスが稼働している場合、
このファイルを読み出すべきではない。

このファイルの中の情報は \fBdmesg\fP(1)  によって表示される。
.TP 
\fI/proc/kpagecount\fP (Linux 2.6.25 以降)
このファイルには、 各物理ページフレームがマッピングされた回数が 64 ビットカウンターとして入っている。 インデックスはページフレーム番号である
(\fI/proc/[pid]/pagemap\fP の議論を参照)。
.IP
\fI/proc/kpagecount\fP ファイルが存在するのは、カーネルのコンフィギュレーションオプション
\fBCONFIG_PROC_PAGE_MONITOR\fP を有効にした場合だけである。
.TP 
\fI/proc/kpageflags\fP (Linux 2.6.25 以降)
このファイルには、 各物理ページフレームに対応する 64 ビットマスクが入っている。 インデックスはページフレーム番号である
(\fI/proc/[pid]/pagemap\fP の議論を参照)。 各ビットは以下のとおりである。

     0 \- KPF_LOCKED
     1 \- KPF_ERROR
     2 \- KPF_REFERENCED
     3 \- KPF_UPTODATE
     4 \- KPF_DIRTY
     5 \- KPF_LRU
     6 \- KPF_ACTIVE
     7 \- KPF_SLAB
     8 \- KPF_WRITEBACK
     9 \- KPF_RECLAIM
    10 \- KPF_BUDDY
    11 \- KPF_MMAP           (Linux 2.6.31 以降)
    12 \- KPF_ANON           (Linux 2.6.31 以降)
    13 \- KPF_SWAPCACHE      (Linux 2.6.31 以降)
    14 \- KPF_SWAPBACKED     (Linux 2.6.31 以降)
    15 \- KPF_COMPOUND_HEAD  (Linux 2.6.31 以降)
    16 \- KPF_COMPOUND_TAIL  (Linux 2.6.31 以降)
    16 \- KPF_HUGE           (Linux 2.6.31 以降)
    18 \- KPF_UNEVICTABLE    (Linux 2.6.31 以降)
    19 \- KPF_HWPOISON       (Linux 2.6.31 以降)
    20 \- KPF_NOPAGE         (Linux 2.6.31 以降)
    21 \- KPF_KSM            (Linux 2.6.32 以降)
    22 \- KPF_THP            (Linux 3.4 以降)

.\" commit ad3bdefe877afb47480418fdb05ecd42842de65e
.\" commit e07a4b9217d1e97d2f3a62b6b070efdc61212110
これらのビットの意味の詳しい説明は、 カーネルのソースファイル \fIDocumentation/vm/pagemap.txt\fP を参照。 カーネル
2.6.29 より前では、 \fBKPF_WRITEBACK\fP, \fBKPF_RECLAIM\fP, \fBKPF_BUDDY\fP, \fBKPF_LOCKED\fP
は正しい値を返さなかった。
.IP
\fI/proc/kpageflags\fP ファイルが存在するのは、カーネルのコンフィギュレーションオプション
\fBCONFIG_PROC_PAGE_MONITOR\fP を有効にした場合だけである。
.TP 
\fI/proc/ksyms\fP (Linux 1.1.23\-2.5.47)
\fI/proc/kallsyms\fP を参照。
.TP 
\fI/proc/loadavg\fP
このファイルの最初の 3 つのフィールドはロードアベレージの数値で、 1, 5, 15 分
あたりの実行キュー内 (state R) または ディスク I/O 待ち (state D) のジョブ数
を与える。 これは \fBuptime\fP(1) などのプログラムによって得られる値と同じである。
4 番目のフィールドはスラッシュ (/) で区切られた 2 つの数値から構成される。
この数値のうち最初のものは、現在実行可能なカーネルスケジュールエンティティ
(プロセス、スレッド) の数である。スラッシュの後の数値は、現在システム上に
存在するカーネルスケジュールエンティティの数である。 5 番目のフィールドは
システム上に最も最近生成されたプロセスの PID である。
.TP 
\fI/proc/locks\fP
このファイルは現在のファイルロック (\fBflock\fP(2) と \fBfcntl\fP(2))  とリース (\fBfcntl\fP(2))  を表示する。
.TP 
\fI/proc/malloc\fP (Linux 2.2 以前のみ)
.\" It looks like this only ever did something back in 1.0 days
コンパイルのときに \fBCONFIGDEBUGMALLOC\fP が定義されているときのみ、このファイルは存在する。
.TP 
\fI/proc/meminfo\fP
このファイルはシステムのメモリー使用状況の統計情報を表示する。 \fBfree\fP(1) はこのファイルを使って、 そのシステムの
(物理メモリーとスワップの両方の) 未使用と使用中のメモリー量と、 カーネルが使用している共有メモリーとバッファーの使用量を表示する。
このファイルの各行は、パラメーター名の後に、 コロン、 パラメーター値が続く。 最後に ("kB" などの) 計測単位がある場合もある。
以下のリストでは、 フィールド名と、フィールド値を読み込むのに必要なフォーマット指定子 (format specifier) について説明する。
特に注記がある場合を除くと、すべてのフィールドが少なくとも Linux 2.6.0 以降では存在する。
いくつかのフィールドは、カーネルでオプションが有効になっている場合にのみ表示される。 こうした依存関係についてはリスト内に注記がある。
.RS
.TP 
\fIMemTotal\fP %lu
使用可能な RAM の総量 (つまり、 物理 RAM サイズからいくつかの予約ビットとカーネルのバイナリコードの分を引いた値)。
.TP 
\fIMemFree\fP %lu
\fILowFree\fP+\fIHighFree\fP の合計値。
.TP 
\fIBuffers\fP %lu
Relatively temporary storage for raw disk blocks that shouldn't get
tremendously large (20MB or so).
.TP 
\fICached\fP %lu
ディスクから読み出したファイルのインメモリーキャッシュ (ページキャッシュ)。 \fISwapCached\fP は含まれない。
.TP 
\fISwapCached\fP %lu
一度スワップアウトされ、その後スワップインされたが、まだスワップファイルにも存在するメモリー。 (メモリーが残り少ない場合、
これらのページは、すでにスワップファイルに存在するので、もう一度スワップアウトする必要がない。 これにより I/O が節約できる。)
.TP 
\fIActive\fP %lu
最近使用されたメモリーで、通常は本当に必要にならない限り回収されないメモリー。
.TP 
\fIInactive\fP %lu
最近あまり使用されていないメモリー。 他の使用するために優先して回収すべきメモリー。
.TP 
\fIActive(anon)\fP %lu (Linux 2.6.28 以降)
[後で記載する]
.TP 
\fIInactive(anon)\fP %lu (Linux 2.6.28 以降)
[後で記載する]
.TP 
\fIActive(file)\fP %lu (Linux 2.6.28 以降)
[後で記載する]
.TP 
\fIInactive(file)\fP %lu (Linux 2.6.28 以降)
[後で記載する]
.TP 
\fIUnevictable\fP %lu (Linux 2.6.28 以降)
(Linux 2.6.28 から 2.6.30 まででは \fBCONFIG_UNEVICTABLE_LRU\fP が必要であった。)  [後で記載する]
.TP 
\fIMlocked\fP %lu (Linux 2.6.28 以降)
(Linux 2.6.28 から 2.6.30 まででは \fBCONFIG_UNEVICTABLE_LRU\fP が必要であった。)  [後で記載する]
.TP 
\fIHighTotal\fP %lu
(Linux 2.6.19 以降では \fBCONFIG_HIGHMEM\fP が必要) highmem の総量。 highmem は物理メモリーの
860MB 付近よりも上の部分のメモリー領域全体のことである。 highmem 領域はユーザー空間プログラムとページキャッシュで使用される。
カーネルはこのメモリーにアクセスするのに小技を使っており、 lowmem よりもアクセスが遅くなる。
.TP 
\fIHighFree\fP %lu
(Linux 2.6.19 以降では \fBCONFIG_HIGHMEM\fP が必要) 未使用の highmem 量。
.TP 
\fILowTotal\fP %lu
(Starting with Linux 2.6.19, \fBCONFIG_HIGHMEM\fP is required.)  Total amount
of lowmem.  Lowmem is memory which can be used for everything that highmem
can be used for, but it is also available for the kernel's use for its own
data structures.  Among many other things, it is where everything from
\fISlab\fP is allocated.  Bad things happen when you're out of lowmem.
.TP 
\fILowFree\fP %lu
(Linux 2.6.19 以降では \fBCONFIG_HIGHMEM\fP が必要) 未使用の lowmem 量。
.TP 
\fIMmapCopy\fP %lu (Linux 2.6.29 以降)
(\fBCONFIG_MMU\fP が必要)  [後で記載する]
.TP 
\fISwapTotal\fP %lu
利用可能なスワップ空間の総量。
.TP 
\fISwapFree\fP %lu
現在未使用のスワップ空間の量。
.TP 
\fIDirty\fP %lu
ディスクに書き戻されるのを待っているメモリー。
.TP 
\fIWriteback\fP %lu
現在ディスクに書き戻し中のメモリー。
.TP 
\fIAnonPages\fP %lu (Linux 2.6.18 以降)
ユーザー空間ページテーブルにマッピングされているファイルと関連付けられていないページ。
.TP 
\fIMapped\fP %lu
(\fBmmap\fP(2) で) メモリーにマッピングされているファイル。 ライブラリなど。
.TP 
\fIShmem\fP %lu (Linux 2.6.32 以降)
[後で記載する]
.TP 
\fISlab\fP %lu
カーネル内のデータ構造体のキャッシュ。
.TP 
\fISReclaimable\fP %lu (Linux 2.6.19 以降)
回収可能な \fISlab\fP。 キャッシュなど。
.TP 
\fISUnreclaim\fP %lu (Linux 2.6.19 以降)
メモリー消費が激しい際でも回収できない \fISlab\fP。
.TP 
\fIKernelStack\fP %lu (Linux 2.6.32 以降)
カーネルスタックに割り宛てられているメモリー量。
.TP 
\fIPageTables\fP %lu (Linux 2.6.18 以降)
Amount of memory dedicated to the lowest level of page tables.
.TP 
\fIQuicklists\fP %lu (Linux 2.6.27 以降)
(\fBCONFIG_QUICKLIST\fP が必要)  [後で記載する]
.TP 
\fINFS_Unstable\fP %lu (Linux 2.6.18 以降)
サーバに送信されたが、まだ永続的なストレージには書き込まれていない NFS ページ。
.TP 
\fIBounce\fP %lu (Linux 2.6.18 以降)
Memory used for block device "bounce buffers".
.TP 
\fIWritebackTmp\fP %lu (Linux 2.6.26 以降)
FUSE で一時的なライトバックバッファーに使われているメモリー。
.TP 
\fICommitLimit\fP %lu (Linux 2.6.10 以降)
This is the total amount of memory currently available to be allocated on
the system, expressed in kilobytes.  This limit is adhered to only if strict
overcommit accounting is enabled (mode 2 in
\fI/proc/sys/vm/overcommit_memory\fP).  The limit is calculated according to
the formula described under \fI/proc/sys/vm/overcommit_memory\fP.  For further
details, see the kernel source file
\fIDocumentation/vm/overcommit\-accounting\fP.
.TP 
\fICommitted_AS\fP %lu
The amount of memory presently allocated on the system.  The committed
memory is a sum of all of the memory which has been allocated by processes,
even if it has not been "used" by them as of yet.  A process which allocates
1GB of memory (using \fBmalloc\fP(3)  or similar), but touches only 300MB of
that memory will show up as using only 300MB of memory even if it has the
address space allocated for the entire 1GB.

This 1GB is memory which has been "committed" to by the VM and can be used
at any time by the allocating application.  With strict overcommit enabled
on the system (mode 2 in IR /proc/sys/vm/overcommit_memory ), allocations
which would exceed the \fICommitLimit\fP will not be permitted.  This is useful
if one needs to guarantee that processes will not fail due to lack of memory
once that memory has been successfully allocated.
.TP 
\fIVmallocTotal\fP %lu
vmalloc メモリー領域の総量。
.TP 
\fIVmallocUsed\fP %lu
使用中の vmalloc 領域の量。
.TP 
\fIVmallocChunk\fP %lu
vmalloc 領域の未使用の連続するブロックの最大サイズ。
.TP 
\fIHardwareCorrupted\fP %lu (Linux 2.6.32 以降)
(\fBCONFIG_MEMORY_FAILURE\fP が必要) [後で記載する]
.TP 
\fIAnonHugePages\fP %lu (Linux 2.6.38 以降)
(\fBCONFIG_TRANSPARENT_HUGEPAGE\fP が必要)
ユーザー空間ページテーブルにマッピングされているファイルと関連付けられていないヒュージページ。
.TP 
\fIHugePages_Total\fP %lu
(\fBCONFIG_HUGETLB_PAGE\fP が必要) ヒュージページのプールサイズ。
.TP 
\fIHugePages_Free\fP %lu
(\fBCONFIG_HUGETLB_PAGE\fP が必要) プール内の割り当てられていないヒュージページ数。
.TP 
\fIHugePages_Rsvd\fP %lu (Linux 2.6.17 以降)
(\fBCONFIG_HUGETLB_PAGE\fP が必要) プールから割り当てが宣言されたが、まだ割り当てが行われていないヒュージページ数。
これらの予約ヒュージページにより、 アプリケーションがメモリーフォールト時にヒュージページのプールからヒュージページが割り当てられることが保証される。
.TP 
\fIHugePages_Surp\fP %lu (Linux 2.6.24 以降)
(\fBCONFIG_HUGETLB_PAGE\fP is required.)  This is the number of huge pages in
the pool above the value in \fI/proc/sys/vm/nr_hugepages\fP.  The maximum
number of surplus huge pages is controlled by
\fI/proc/sys/vm/nr_overcommit_hugepages\fP.
.TP 
\fIHugepagesize\fP %lu
(\fBCONFIG_HUGETLB_PAGE\fP が必要) ヒュージページのサイズ。
.RE
.TP 
\fI/proc/modules\fP
現在システムにロードされているモジュールのテキスト形式のリスト。 \fBlsmod\fP(8)  も参照。
.TP 
\fI/proc/mounts\fP
カーネル 2.4.19 より前では、このファイルは現在システムにマウントされている 全てのファイルシステムのリストであった。 Linux 2.4.19
でプロセス単位のマウント名前空間が導入されたことに伴い、 このファイルは \fI/proc/self/mounts\fP へのリンクとなった。
\fI/proc/self/mounts\fP はそのプロセス自身のマウント名前空間のマウントポイントのリストである。 このファイルのフォーマットは
\fBfstab\fP(5)  に記述されている。
.TP 
\fI/proc/mtrr\fP
Memory Type Range Registers。 詳細は、Linux カーネルソースファイル \fIDocumentation/mtrr.txt\fP
を参照すること。
.TP 
\fI/proc/net\fP
さまざまなネットワークについての擬似ファイルで、 それぞれがネットワーク層の各種の状態を与える。 これらのファイルの内容は ASCII 形式なので、
\fBcat\fP(1)  で読み出せる。 とはいえ基本コマンドの \fBnetstat\fP(8)  はこれらのファイルの内容のよりすっきりとした表示を提供する。
.TP 
\fI/proc/net/arp\fP
アドレス解決に使われるカーネルの ARP テーブルの ASCII 可読なダンプを保持している。 動的結合されたものと固定 (preprogrammed)
の両方の APP エントリーを見ることができる。フォーマットは以下のとおり:

.nf
.in 8n
\f(CWIP address     HW type   Flags     HW address          Mask   Device
192.168.0.50   0x1       0x2       00:50:BF:25:68:F3   *      eth0
192.168.0.250  0x1       0xc       00:00:00:00:00:00   *      eth0\fP
.fi
.in

ここで IP address はマシンの IPv4 アドレス、 HW type はそのアドレスの RFC\ 826 で定められているハードウェアの形式、
Flags は ARP 構造体 (\fI/usr/include/linux/if_arp.h\fP 内で定義されている) の内部フラグ、 HW
address はその IP アドレスにマップされているデータリンク層のアドレス (もしわかっていれば) である。
.TP 
\fI/proc/net/dev\fP
擬似ファイル dev はネットワークデバイスの状態情報を含んでいる。 これは送受信したパケット数、エラーとコリジョン (collision) の回数、
その他の基本的な統計を与える。 これらは \fBifconfig\fP(8)  がデバイスの状態を報告するのに使われる。 フォーマットは以下のとおり:

.nf
.in 1n
\f(CWInter\-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo: 2776770   11307    0    0    0     0          0         0  2776770   11307    0    0    0     0       0          0
  eth0: 1215645    2751    0    0    0     0          0         0  1782404    4324    0    0    0   427       0          0
  ppp0: 1622270    5552    1    0    0     0          0         0   354130    5669    0    0    0     0       0          0
  tap0:    7714      81    0    0    0     0          0         0     7714      81    0    0    0     0       0          0\fP
.in
.fi
.\" .TP
.\" .I /proc/net/ipx
.\" No information.
.\" .TP
.\" .I /proc/net/ipx_route
.\" No information.
.TP 
\fI/proc/net/dev_mcast\fP
\fI/usr/src/linux/net/core/dev_mcast.c\fP で定義されており、以下の形式である。
.nf
.in +5
indx interface_name  dmi_u dmi_g dmi_address
2    eth0            1     0     01005e000001
3    eth1            1     0     01005e000001
4    eth2            1     0     01005e000001
.in
.fi
.TP 
\fI/proc/net/igmp\fP
Internet Group Management Protocol (インターネットグループ管理プロトコル)。
\fI/usr/src/linux/net/core/igmp.c\fP で定義されている。
.TP 
\fI/proc/net/rarp\fP
このファイルは \fIarp\fP と同じフォーマットで 逆アドレス解決サービス (reverse address lookup services)
\fBrarp\fP(8)  に提供するために使われる現在の逆マップデータベースの内容を含んでいる。 RARP
がカーネルコンフィグレーションに設定されていなければ、 このファイルは存在しない。
.TP 
\fI/proc/net/raw\fP
.\" .TP
.\" .I /proc/net/route
.\" No information, but looks similar to
.\" .BR route (8).
RAW ソケットテーブルのダンプを保持している。 ほとんどの情報はデバッグ以外では
使われない。 \&"sl" の値はソケットのカーネルハッシュスロット、
\&"local_address" はローカルアドレスとプロトコル番号のペア
[訳者追加: "rem_address" はリモートアドレスとプロトコル番号のペア]。
\&"st" はソケットの内部状態。 \&"tx_queue" と "rx_queue" はカーネルメモリーを
消費している 送信/受信データキューのサイズ。 \&"tr" と "tm\->when" と
"rexmits" フィールドは RAW では使われていない。
\&"uid" フィールドはソケット生成者の実効 UID を保持している。
.TP 
\fI/proc/net/snmp\fP
このファイルは SNMP エージェントが必要とする IP, ICMP, TCP, UDP 管理情報を ASCII データとして保持している。
.TP 
\fI/proc/net/tcp\fP
TCP ソケットテーブルのダンプを保持している。 大部分の情報はデバッグ以外には使われない。 sl はソケットのカーネルハッシュスロットの値、
\&"local_address" はローカルアドレスとポート番号のペアである。 (ソケットが接続している場合は) \&"rem_address"
はリモートアドレスとポート番号の対である。 \&"st" はソケットの内部状態である。 \&"tx_queue" と "rx_queue"
はカーネルメモリーを消費している送信/受信データキューのサイズ。 \&"tr" と "tm\->when" と "rexmits"
フィールドはソケット状態のカーネル 内部情報を保持しているが、 これらが役に立つのはデバッグのときだけである。 \&"uid"
フィールドはソケット生成者の実効 UID を保持している。
.TP 
\fI/proc/net/udp\fP
UDP ソケットテーブルのダンプを保持している。 大部分の情報はデバッグ以外には
使われない。 sl はソケットのカーネルハッシュスロットの値、 "local_address"
はローカルアドレスとポート番号のペアである。 (ソケットが接続している場合は)
"rem_address" はリモートアドレスとポート番号のペアである。 "st" はソケットの
内部状態である。 "tx_queue" と "rx_queue" はカーネルメモリーを消費している
送信/受信データキューのサイズ。 "tr" と "tm\->when" と "rexmits"
フィールドは UDP では使われていない。 "uid" フィールドはソケット生成者の
実効 UID を保持している。 フォーマットは以下のとおり:

.nf
.in 1n
\f(CWsl  local_address rem_address   st tx_queue rx_queue tr rexmits  tm\->when uid
 1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
 1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0\fP
.in
.fi
.TP 
\fI/proc/net/unix\fP
UNIX ドメインソケットのリスト。 フォーマットは以下のとおり:
.nf
.sp .5
\f(CWNum RefCount Protocol Flags    Type St Path
 0: 00000002 00000000 00000000 0001 03
 1: 00000001 00000000 00010000 0001 01 /dev/printer\fP
.sp .5
.fi

ここで、Num はカーネルのテーブルスロット数、 RefCount はソケットを使用して
いるユーザー数、 Protocol はいまのところいつも 0 で、Flags はソケットの状態
を保持している カーネル内部のフラグである。 Type はいまのところいつも 1
(UNIX ドメインのデータグラムソケットは、現在のカーネルではサポートされていない
[訳注: 2.0.34 ではサポートされているようだ])。
St はソケットの内部状態で、Path は(もしあれば) ソケットのパス名である。
.TP 
\fI/proc/net/netfilter/nfnetlink_queue\fP
このファイルは netfilter ユーザー空間キューイングが使用されている場合 netfilter ユーザー空間キューイングの情報を表示する。
各行が各キューの情報を表示する。 ユーザー空間で購読されていないキューは表示されない。
.nf

   1   4207     0  2 65535     0     0        0  1
  (1)   (2)    (3)(4)  (5)    (6)   (7)      (8)
.fi
.IP
各行のフィールドは以下の通りである。
.RS 7
.TP  5
(1)
キューの ID。 これは \fBiptables\fP(8) NFQUEUE ターゲットの \fB\-\-queue\-num\fP や
\fB\-\-queue\-balance\fP オプションで指定された値と一致する。 詳しい情報は \fBiptables\-extensions\fP(8) を参照。
.TP 
(2)
キューを購読している netlink ポート ID。
.TP 
(3)
現在キューに入っていてアプリケーションが処理するのを待っているパケット数。
.TP 
(4)
キューのコピーモード。 値は 1 (メタデータのみ) か 2 (ペイロードデータもユーザー空間にコピーする) のいずれかである。
.TP 
(5)
コピーする範囲。 つまり、 最大で何バイトのパケットペイロードをユーザー空間にコピーする必要があるかを示す。
.TP 
(6)
キューでの破棄数。 すでに多数のパケットがユーザー空間が必ず必要な受け入れ/破棄の判定を送り返すのを待っていたため、
カーネルがドロップする必要があったパケット数。
.TP 
(7)
キューのユーザーでのドロップ数。 netlink サブシステム内で破棄されたパケット数。 このようなパケットの破棄が通常起こるのは、
対応するソケットバッファーが一杯の場合、 つまり、 ユーザー空間がメッセージを十分な速度で読み出せない場合である。
.TP 
(8)
シーケンス番号。 キューに入ったすべてのパケットには 32 ビットの単調増加のシーケンス番号が関連付けられる。 これは一番最近キューに入ったパケットの
ID となる。
.RE
.IP
最後の数字は互換性のためだけに存在し、 常に 1 である。
.TP 
\fI/proc/partitions\fP
各パーティションのメジャー番号とマイナー番号が書かれている。 さらに、 1024 バイトブロック数とパーティション名も書かれている。
.TP 
\fI/proc/pci\fP
カーネルの初期化時に見つかったすべての PCI デバイスのリストと その設定。

.\" FIXME Document /proc/sched_debug
.\"
.\" .TP
.\" .IR /proc/sched_debug " (since Linux 2.6.23)"
.\" See also /proc/[pid]/sched
このファイルは非推奨であり、新しい PCI 用の \fI/proc\fP インターフェイス (\fI/proc/bus/pci\fP)  を使うこと。
このファイルは Linux 2.2 でオプションになった (カーネルのコンパイル時に \fBCONFIG_PCI_OLD_PROC\fP
をセットすると利用可能であった)。 Linux 2.4 で再びオプションなしで有効に戻った。 さらに、Linux 2.6 で非推奨となり
(\fBCONFIG_PCI_LEGACY_PROC\fP をセットするとまだ利用可能であった)、 最終的に Linux 2.6.17
以降で完全に削除された。
.TP 
\fI/proc/profile\fP (Linux 2.4 以降)
このファイルは、 カーネルが \fIprofile=1\fP コマンドラインオプションで起動された場合にのみ存在する。 このファイルは、
カーネルのプロファイリング情報を \fBreadprofile\fP(1) を使って読み込めるバイナリ形式で公開する。 このファイルに
(例えば、空の文字列を) 書き込むと、プロファイリングカウンターがリセットされる。 いくつかのアーキテクチャーでは、 サイズ
\fIsizeof(int)\fP のバイナリ整数である「プロファイリング倍率」を書き込むとプロファイリングの割り込み頻度を設定できる。
.TP 
\fI/proc/scsi\fP
\fIscsi\fP 中間レベル擬似ファイルといくつかの SCSI 低レベルドライバの ディレクトリを含むディレクトリ。 これらのファイルは ASCII
で表現されているので \fBcat\fP(1)  で読める。

いくつかのファイルは書き込み可能で、サブシステムの設定を変更したり、 特定の機能をオン/オフすることができる。
.TP 
\fI/proc/scsi/scsi\fP
カーネルが知っているすべての SCSI デバイスのリスト。 このリストは起動時に (コンソールで) 見られるものとほぼ同じである。 scsi
は現在のところ \fIadd\-single\-device\fP コマンドのみをサポートしている。 これによりルート (root)
は既知のデバイスリストへ活線挿抜 (hotplugged)  デバイスを加えることができる。

次のコマンドを実行すると、
.in +4n
.nf

echo \(aqscsi add\-single\-device 1 0 5 0\(aq > /proc/scsi/scsi

.fi
.in
ホストアダプター scsi1 は SCSI チャネル 0 で ID 5 LUN 0 のデバイスを探す。 もしこのアドレスに既知のデバイスがあるか、
不正なアドレスであったならばエラーが返る。
.TP 
\fI/proc/scsi/[drivername]\fP
いまのところ \fI[drivername]\fP は NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx,
buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, scsi_debug,
seagate, t128, u15\-24f, ultrastore, wd7000 のどれかである。 少なくとも 1 つの SCSI
ホストバスアダプター (HBA) に ドライバが割り当てられていると、そのドライバに対応したディレクトリが現れる。 それぞれのディレクトリには、
登録されたホストアダプターに対応してファイルが作られる。 このファイルの名前は、システムの初期化の際に ホストアダプターに割り当てられた番号になる。

これらのファイルを読めばドライバとホストアダプターの設定や 統計などを見ることができる。

これらのファイルへの書き込みはホストアダプターごとに異なる動作を引き起こす。 たとえば \fIlatency\fP と \fInolatency\fP
コマンドを用いると、 ルート (root、スーパーユーザー) は eata_dma ドライバの隠し測定コードの オン/オフを切り替えることができる。
また \fI lockup\fP と \fIunlock\fP コマンドを用いると、ルートは scsi_debug ドライバがシミュレートするバスロックアップ
(bus lockup) を 制御することができる。
.TP 
\fI/proc/self\fP
このディレクトリはプロセスに (プロセス自身の)  \fI/proc\fP ファイルシステムへのアクセスを参照させる。 これは \fI/proc\fP 内の
(このプロセスの) プロセス ID が名前となっている ディレクトリと全く同一である。
.TP 
\fI/proc/slabinfo\fP
Linux 2.6.16 以降では、 カーネル設定オプション \fBCONFIG_SLAB\fP が有効の場合にのみ、このファイルは存在する。
カーネルキャッシュの情報。 \fI/proc/slabinfo\fP のフィールドは以下のとおり。
.in +4n
.nf

cache\-name
num\-active\-objs
total\-objs
object\-size
num\-active\-slabs
total\-slabs
num\-pages\-per\-slab
.fi
.in

詳細は \fBslabinfo\fP(5)  を参照すること。
.TP 
\fI/proc/stat\fP
カーネル/システムの統計。 アーキテクチャーによって異なる。 共通エントリーには以下のものが含まれる。
.RS
.TP 
\fIcpu  3357 0 4313 1362393\fP
.\" 1024 on Alpha and ia64
各種状態で消費された時間の合計値。 時間は USER_HZ を単位として計測される (ほとんどのアーキテクチャーでは USER_HZ は 1/100
秒で、 正しい値は \fIsysconf(_SC_CLK_TCK)\fP を使って取得できる)。
.RS
.TP 
\fIuser\fP
(1) ユーザーモードで消費した時間。
.TP 
\fInice\fP
(2) 低い優先度 (nice) のユーザーモードで消費した時間。
.TP 
\fIsystem\fP
(3) システムモードで消費した時間。
.TP 
\fIidle\fP
.\" FIXME . Actually, the following info about the /proc/stat 'cpu' field
.\"       does not seem to be quite right (at least in 2.6.12 or 3.6):
.\"       the idle time in /proc/uptime does not quite match this value
(4)  タスク待ち (idle task) で消費した時間。 この値は擬似ファイル \fI/proc/uptime\fP の 2 番目のエントリーの値を
USER_HZ 倍した値になるはずである。
.TP 
\fIiowait\fP (Linux 2.5.41 以降)
(5) I/O の完了待ちの時間。
.TP 
\fIirq\fP (Linux 2.6.0\-test4 以降)
(6) 割り込みの処理に使った時間。
.TP 
\fIsoftirq\fP (Linux 2.6.0\-test4 以降)
(7) ソフト割り込みの処理に使った時間。
.TP 
\fIsteal\fP (Linux 2.6.11 以降)
(8) 盗まれた時間 (stolen time)。仮想化環境での動作時に他のオペレーティングシステムにより消費された時間である。
.TP 
\fIguest\fP (Linux 2.6.24 以降)
.\" See Changelog entry for 5e84cfde51cf303d368fcb48f22059f37b3872de
(9) Linux カーネルの制御下のゲストオペレーティングシステムの仮想 CPU の 実行に消費された時間。
.TP 
\fIguest_nice\fP (Linux 2.6.33 以降)
.\" commit ce0e7b28fb75cb003cfc8d0238613aaf1c55e797
(10) nice が適用されたゲスト (Linux カーネルの制御下のゲストオペレーティングシステムの仮想 CPU) の 実行に消費された時間。
.RE
.TP 
\fIpage 5741 1808\fP
システムが (ディスクから) ページイン/ページアウトしたページ数。
.TP 
\fIswap 1 0\fP
スワップイン/スワップアウトされたページ数。
.TP 
.\" FIXME . The following is not the full picture for the 'intr' of
.\"       /proc/stat on 2.6:
\fIintr 1462898\fP
この行はシステム起動時以降に処理された割り込みの回数を示す。 最初の欄は処理された割り込み全ての合計であり、
これには番号が割り振られていないアーキテクチャー固有の割り込みも含まれる。 それ以降の欄はそれぞれ番号が割り振られた割り込みについての合計である。
番号が割り振られていない割り込みは表示されず、 全体の合計にのみ加算される。
.TP 
\fIdisk_io: (2,0):(31,30,5764,1,2) (3,0):\fP...
(メジャー番号, ディスクインデックス番号):(情報なし (noinfo), 読み込み回数, 読み込みブロック数, 書き出し回数, 書き出しブロック数)
.br
(Linux 2.4 のみ)
.TP 
\fIctxt 115315\fP
コンテクストスイッチの延べ回数。
.TP 
\fIbtime 769041601\fP
起動時刻、紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC)) からの秒数。
.TP 
\fIprocesses 86031\fP
システム起動時からの延べフォーク (fork) 数。
.TP 
\fIprocs_running 6\fP
実行中状態のプロセス数 (Linux 2.5.45 以降)。
.TP 
\fIprocs_blocked 2\fP
I/O 完了待ちで停止 (blocked) しているプロセス数 (Linux 2.5.45 以降)。
.RE
.TP 
\fI/proc/swaps\fP
使用中のスワップ領域。 \fBswapon\fP(8)  も参照すること。
.TP 
\fI/proc/sys\fP
このディレクトリ (1.3.57 以降に存在) はカーネル変数に対応するいくつかの
ファイルとサブディレクトリを含む。 これらの変数は読み出し可能である。
また場合によっては \fI/proc\fP ファイルシステムや、 (非推奨の) システムコール
\fBsysctl\fP(2) を用いて書き換えることもできる。
.TP 
\fI/proc/sys/abi\fP (Linux 2.4.10 以降)
.\" On some systems, it is not present.
このディレクトリにはアプリケーションのバイナリ情報が入ったファイルが置かれる。 更に詳しい情報は、 Linux カーネルソースファイル
\fIDocumentation/sysctl/abi.txt\fP を参照すること。
.TP 
\fI/proc/sys/debug\fP
このディレクトリは空の場合もある。
.TP 
\fI/proc/sys/dev\fP
このディレクトリにはデバイス特有の情報 (たとえば \fIdev/cdrom/info\fP)  が含まれる。
このディレクトリが空になっているシステムもある。
.TP 
\fI/proc/sys/fs\fP
このディレクトリには、ファイルシステムに関連するカーネル変数用の
ディレクトリとサブディレクトリが含まれる。
.TP 
\fI/proc/sys/fs/binfmt_misc\fP
このディレクトリ以下のファイルについてのドキュメントは、 Linux カーネルソースの \fIDocumentation/binfmt_misc.txt\fP
にある。
.TP 
\fI/proc/sys/fs/dentry\-state\fP (Linux 2.2 以降)
このファイルには、ディレクトリキャッシュ (dcache) の状態に関する情報が 入っている。ファイルには、 \fInr_dentry\fP,
\fInr_unused\fP, \fIage_limit\fP (秒単位の age), \fIwant_pages\fP (システムがリクエストしたページ数),
ダミーの 2 つの値、 という 6 つの数字が書かれている。
.RS
.IP * 2
\fInr_dentry\fP は割り当てられた dentry (dcache エントリー) の数である。 このフィールドは Linux 2.2
では使用されない。
.IP *
\fInr_unused\fP は未使用の dentry 数である。
.IP *
.\" looks like this is unused in kernels 2.2 to 2.6
\fIage_limit\fP は、メモリーが不足している場合に次に dcache entry を再要求できるように なるまでの残り時間 (秒数) である。
.IP *
.\" looks like this is unused in kernels 2.2 to 2.6
\fIwant_pages\fP は、カーネルが shrink_dcache_pages() を呼び出したが dcache がまだ縮小されていない場合に、0
以外の値となる。
.RE
.TP 
\fI/proc/sys/fs/dir\-notify\-enable\fP
このファイルは \fBfcntl\fP(2)  に記述されている \fIdnotify\fP インターフェースをシステム全体で無効にしたり有効にしたりする。
このファイルに値 0 が書かれている場合はインターフェースが無効になり、 値 1 の場合は有効になる。
.TP 
\fI/proc/sys/fs/dquot\-max\fP
このファイルにはキャッシュされるディスク quota エントリーの最大数が書かれている。 (2.4 系の)
システムの中には、このファイルが存在しないものもある。 キャッシュされるディスク quota エントリーの空きが非常に少なく、
とても多くのシステムユーザーが同時に存在する場合、 この制限を上げるといいかもしれない。
.TP 
\fI/proc/sys/fs/dquot\-nr\fP
このファイルには割り当てられているディスク quota のエントリー数と、 空いているディスク quota のエントリー数が書かれている。
.TP 
\fI/proc/sys/fs/epoll\fP (Linux 2.6.28 以降)
このディレクトリには、ファイル \fImax_user_watches\fP がある。 これらは、 \fIepoll\fP
インターフェースが消費するカーネルメモリー量を制限するのに使用できる。 詳細は \fBepoll\fP(7)  を参照。
.TP 
\fI/proc/sys/fs/file\-max\fP
このファイルは、 システム全体でプロセスがオープンできるファイル数の上限を定義する (\fBsetrlimit\fP(2) も参照;
\fBsetrlimit\fP(2) を使うと、 オープンできるファイル数のプロセス毎の上限 \fBRLIMIT_NOFILE\fP を設定できる)。
ファイルハンドルを使い果たしたというエラーメッセージ ("VFS: file\-max limit <number> reached"
を探すとよい) がカーネルログに大量に出る場合は、以下のようにこの値を増加させてみるとよい。
.br

.br
.nf
\f(CW    echo 100000 > /proc/sys/fs/file\-max\fP
.fi

特権プロセス (\fBCAP_SYS_ADMIN\fP) は \fIfile\-max\fP 上限を上書きできる。
.TP 
\fI/proc/sys/fs/file\-nr\fP
This (read\-only) file contains three numbers: the number of allocated file
handles (i.e., the number of files presently opened); the number of free
file handles; and the maximum number of file handles (i.e., the same value
as \fI/proc/sys/fs/file\-max\fP).  If the number of allocated file handles is
close to the maximum, you should consider increasing the maximum.  Before
Linux 2.6, the kernel allocated file handles dynamically, but it didn't free
them again.  Instead the free file handles were kept in a list for
reallocation; the "free file handles" value indicates the size of that
list.  A large number of free file handles indicates that there was a past
peak in the usage of open file handles.  Since Linux 2.6, the kernel does
deallocate freed file handles, and the "free file handles" value is always
zero.
.TP 
\fI/proc/sys/fs/inode\-max\fP (Linux 2.2 までにのみ存在)
このファイルには、メモリー内 inode の最大値が書かれている。 この値は \fIfile\-max\fP の値の 3\-4 倍にすべきである。 これは
\fIstdin\fP, \fIstdout\fP, ネットワークソケットを扱うにも inode が必要なためである。 日常的に inode
を使い果たしている場合は、この値を増やす必要がある。

Linux 2.4 以降では、 inode 数の静的な上限はなくなり、 このファイルは削除された。
.TP 
\fI/proc/sys/fs/inode\-nr\fP
このファイルには、 \fIinode\-state\fP の最初の 2 つの値が書かれている。
.TP 
\fI/proc/sys/fs/inode\-state\fP
このファイルには 7 つの数字が入っている。 \fInr_inodes\fP, \fInr_free_inodes\fP, \fIpreshrink\fP と 4
つのダミーの値 (常に 0) である。

.\" This can be slightly more than
.\" .I inode-max
.\" because Linux allocates them one page full at a time.
\fInr_inodes\fP はシステムが割り当て済みの inode 数である。 \fInr_free_inodes\fP は未使用の inode 数である。

\fIpreshrink\fP は、 \fInr_inodes\fP > \fIinode\-max\fP で、 システムがさらに inode
を割り当てるのではなく inode リストを刈り取る (余分なものを回収する) 必要がある場合に、 0 以外になる。 Linux 2.4 以降では、
このフィールドはダミーの値 (常に 0) である。
.TP 
\fI/proc/sys/fs/inotify\fP (Linux 2.6.13 以降)
このディレクトリには、ファイル \fImax_queued_events\fP, \fImax_user_instances\fP, and
\fImax_user_watches\fP がある。これらは、 \fIinotify\fP インターフェースが消費するカーネルメモリー量を制限するのに利用できる。
詳細は \fBinotify\fP(7)  を参照。
.TP 
\fI/proc/sys/fs/lease\-break\-time\fP
このファイルは、ファイルを保持しているプロセスに対して カーネルがシグナルを送り、
他のプロセスがそのファイルをオープンするのを待っていることを通知してから、 そのプロセスに対してカーネルがファイルのリース (lease, 貸し出し)
(\fBfcntl\fP(2)  を参照) を許す猶予期間を指定する。 リースホルダ (lease holder: ファイルの貸し出しを受けているプロセス)
が 猶予期間中にリースを削除するか階級を低くしない場合、 カーネルはファイルのリースを強制的に止める。
.TP 
\fI/proc/sys/fs/leases\-enable\fP
このファイルはシステム全体でのファイルリース (\fBfcntl\fP(2)  を参照) を有効または無効にする。 ファイルに値 0
が書き込まれている場合、リースは無効である。 0 以外の場合にはリースは有効である。
.TP 
\fI/proc/sys/fs/mqueue\fP (Linux 2.6.6 以降)
このディレクトリにはファイル \fImsg_max\fP, \fImsgsize_max\fP, and \fIqueues_max\fP がある。これらは POSIX
メッセージキューで使用されるリソースの 制御を行う。 詳細は \fBmq_overview\fP(7)  を参照。
.TP 
\fI/proc/sys/fs/nr_open\fP (Linux 2.6.25 以降)
.\" commit 9cfe015aa424b3c003baba3841a60dd9b5ad319b
This file imposes ceiling on the value to which the \fBRLIMIT_NOFILE\fP
resource limit can be raised (see \fBgetrlimit\fP(2)).  This ceiling is
enforced for both unprivileged and privileged process.  The default value in
this file is 1048576.  (Before Linux 2.6.25, the ceiling for
\fBRLIMIT_NOFILE\fP was hard\-coded to the same value.)
.TP 
\fI/proc/sys/fs/overflowgid\fP と \fI/proc/sys/fs/overflowuid\fP
これらのファイルにより、ユーザーは固定 UID と固定 GID の値を変更できる。 デフォルトは 65534 である。 Linux の UID と
GID は 32 ビットであるが、 16 ビットの UID と GID しかサポートしないファイルシステムもある。
このようなファイルシステムが書き込みを許可してマウントされた場合、 65535 を超える UID と GID は、
ディスクに書き込まれる前にオーバーフロー値に変換される。
.TP 
\fI/proc/sys/fs/pipe\-max\-size\fP (Linux 2.6.35 以降)
このファイルの値により、 \fBfcntl\fP(2) の \fBF_SETPIPE_SZ\fP 操作で増やすことができるパイプ容量の上限値が定義される。
この上限は非特権プロセスにのみ適用される。 このファイルのデフォルト値は 1,048,576 である。 このファイルに設定した値は切り上げられて、
実装側で利用するのに都合のよい値に変更される場合がある。 切り上げられた値を確認するには、 値を設定した後でこのファイルの内容を表示すればよい。
このファイルに設定できる最小値はシステムのページサイズである。
.TP 
\fI/proc/sys/fs/protected_hardlinks\fP (Linux 3.6 以降)
.\" commit 800179c9b8a1e796e441674776d11cd4c05d61d7
このファイルの値が 0 の場合、 ハードリンクの作成には何の制限も適用されない (すなわち、 Linux 3.6 より前の伝統的な動作である)。
このファイルの値が 1 の場合、以下の条件のいずれか一つが成立する場合にのみ、 リンク先のファイルへのハードリンクが作成できる。
.RS
.IP * 3
呼び出し元が \fBCAP_FOWNER\fP ケーパビリティを持っている。
.IP *
そのリンクを作成中のプロセスのファイルシステム UID が、 リンク先ファイルの所有者 (UID) と一致する (\fBcredentials\fP(7)
に説明があるが、 通常、 プロセスのファイルシステム UID はプロセスの実効 UID と同じである)。
.IP *
以下の条件が全て成立する。
.RS 4
.IP \(bu 3
リンク先が通常のファイルである。
.IP \(bu
リンク先ファイルで set\-user\-ID 許可ビットが有効になっていない。
.IP \(bu
リンク先ファイルで、 許可ビット set\-group\-ID と group\-executable が同時に有効になっていない。
.IP \(bu
呼び出し元は、 リンク先ファイルの読み出し、書き込み許可を持っている
(ファイルの許可マスクで許可されているか、適切なケーパビリティを持っているかは問わない)。
.RE
.RE
.IP
The default value in this file is 0.  Setting the value to 1 prevents a
longstanding class of security issues caused by hard\-link\-based
time\-of\-check, time\-of\-use races, most commonly seen in world\-writable
directories such as \fI/tmp\fP.  The common method of exploiting this flaw is
to cross privilege boundaries when following a given hard link (i.e., a root
process follows a hard link created by another user).  Additionally, on
systems without separated partitions, this stops unauthorized users from
"pinning" vulnerable set\-user\-ID and set\-group\-ID files against being
upgraded by the administrator, or linking to special files.
.TP 
\fI/proc/sys/fs/protected_symlinks\fP (Linux 3.6 以降)
.\" commit 800179c9b8a1e796e441674776d11cd4c05d61d7
このファイルの値が 0 の場合、 以下のシンボリックリンクを辿る際に何の制限も適用されない (すなわち、 Linux 3.6
より前の伝統的な動作である)。 このファイルの値が 1 の場合、 以下の状況においてのみシンボリックリンクが辿られる。
.RS
.IP * 3
そのリンクを辿っているプロセスのファイルシステム UID が、 シンボリックリンクの所有者 (UID) と一致する (\fBcredentials\fP(7)
に説明があるが、 通常、 プロセスのファイルシステム UID はプロセスの実効 UID と同じである)。
.IP *
そのリンクが world\-writable の sticky ビットがセットされたディレクトリではない。
.IP *
シンボリックリンクとその親ディレクトリが同じ所有者 (UID) である。
.RE
.IP
システムコールが上記の制約によりシンボリックリンクを辿れなかった場合は、 \fIerrno\fP にエラー \fBEACCES\fP が設定される。
.IP
The default value in this file is 0.  Setting the value to 1 avoids a
longstanding class of security issues based on time\-of\-check, time\-of\-use
races when accessing symbolic links.
.TP 
\fI/proc/sys/fs/suid_dumpable\fP (Linux 2.6.13 以降)
.\" The following is based on text from Documentation/sysctl/kernel.txt
このファイルの値により、set\-user\-ID されたバイナリや、 保護がかかった (protected) バイナリ / tainted な
(汚染された; ライセンスがカーネルと適合しない) バイナリに対して、コアダンプファイルを 生成するかどうかが決定される。 以下の
3つの値を指定することができる:
.RS
.TP 
\fI0\ (default)\fP
この値を指定すると、以前と同じ (Linux 2.6.13 より前の) 動作をする。 (\fBseteuid\fP(2), \fBsetgid\fP(2)
などを呼び出すことや、set\-user\-ID や set\-group\-ID されたプログラムを 実行することで) 資格情報 (credentials)
が変更されているプロセスや、 プロセスの実行バイナリの読み出し許可がないプロセスに対して、 コアダンプを生成しない。
.TP 
\fI1\ ("debug")\fP
すべてのプロセスで、可能であればコアダンプを行う。 コアダンプファイルの所有者は、ダンプを行うプロセスのファイルシステム UID
となり、セキュリティ上の考慮は行われない。 この値は、システムデバッグの場面だけを想定して設けられている。 ptrace のチェックも行われない。
.TP 
\fI2\ ("suidsafe")\fP
通常はダンプされないようなバイナリ (上記の "0" 参照) を root だけが読み出し可能な形でダンプする。
この場合、ユーザーはそのコアダンプファイルを削除することはできるが、 読むことはできない。 セキュリティ上の理由から、このモードのコアダンプでは、
既存のダンプファイルや他のファイルを上書きすることはない。 このモードは、管理者が通常の環境で問題を解析しようとする際に 適している。
.IP
.\" 9520628e8ceb69fa9a4aee6b57f22675d9e1b709
.\" 54b501992dd2a839e94e76aa392c392b55080ce8
さらに、 Linux 3.6 以降では、 \fI/proc/sys/kernel/core_pattern\fP
は絶対パス名かパイプコマンドでなければならない。 \fBcore\fP(5) に詳しい説明がある。 \fIcore_pattern\fP
がこれらのルールに合致しない場合は、 警告がカーネルログに書き込まれ、 コアダンプは生成されない。
.RE
.TP 
このファイルはスーパブロックの値を制御する。
この値はカーネルがマウントできるファイルシステムの最大値になる。 現在、 \fIsuper\-max\fP で許可されているファイルシステム数以上に
マウントする必要がある場合は、この値を増加させるだけでよい。
.TP 
\fI/proc/sys/fs/super\-nr\fP
このファイルには現在マウントされているファイルシステム数が書かれている。
.TP 
\fI/proc/sys/kernel\fP
このディレクトリには、以下で説明する様々なカーネルパラメーターを 制御するためのファイルが配置されている。
.TP 
\fI/proc/sys/kernel/acct\fP
このファイルには 3 つの値が含まれている: \fIhighwater\fP, \fIlowwater\fP, \fIfrequency\fP である。
BSD\-style process accounting が有効になっている場合、 これら 3 つの値が動作を制御する。
ログファイルのあるファイルシステムの空き領域が \fIlowwater\fP パーセント以下になった場合は、ログ記録を一時停止する。 空き領域が
\fIhighwater\fP パーセント以上になった場合に、ログ記録を再開する。 \fIfrequency\fP はカーネルが空き領域のチェックをする頻度である
(単位は秒)。 デフォルトの値は、4, 2, 30 である。 つまり、空き領域が 2% 以下になるとログ記録を一時停止し、 空き領域が 4%
以上となったときに再開する。 空き領域についての情報は 30 秒間有効である点に注意すること。
.TP 
\fI/proc/sys/kernel/cap_last_cap\fP (Linux 3.2 以降)
\fBcapabilities\fP(7) 参照。
.TP 
\fI/proc/sys/kernel/cap\-bound\fP (Linux 2.2 to 2.6.24 以降)
\fI/proc/sys/kernel/cap\-bound\fP このファイルにはカーネルの \fIcapability bounding set\fP (符号付き
10 進数表現) の値が書かれている。 \fBexecve\fP(2)  中は、このセットとプロセスに許可されている権限の AND がとられる。 Linux
2.6.25 以降では、システム全体のケーパビリティバウンディングセットは なくなり、スレッド単位のバウンディングセットに置き換えられた。
\fBcapabilities\fP(7)  を参照。
.TP 
\fI/proc/sys/kernel/core_pattern\fP
\fBcore\fP(5)  参照。
.TP 
\fI/proc/sys/kernel/core_uses_pid\fP
\fBcore\fP(5)  参照。
.TP 
\fI/proc/sys/kernel/ctrl\-alt\-del\fP
このファイルはキーボードの Ctrl\-Alt\-Del の扱いを制御する。 このファイルにある値が 0 の場合、 Ctrl\-Alt\-Del が捕捉されると
\fBinit\fP(1)  プログラムに送られて、正しく再起動される。 値が 0 より大きい場合、Vulcan Nerve Pinch (tm)
に反応して、 Linux はダーティバッファーを同期させることなく、すぐに再起動を行う。 注意: プログラム (dosemu など) に "raw"
モードのキーボードがある場合、 ctrl\-alt\-del はカーネルの tty レイヤーに到達する前に プログラムに遮断され、
プログラムに送られてどのように扱うかが決められる。
.TP 
\fI/proc/sys/kernel/dmesg_restrict\fP (Linux 2.6.37 以降)
.\" commit 620f6e8e855d6d447688a5f67a4e176944a084e8
このファイルの値により誰がカーネル syslog の内容を参照できるかが決定される。 このファイルの値が 0 であれば、制限はなくなる。 値が 1
であれば、 特権ユーザーだけがカーネル syslog を読み出すことができる
(詳細は \fBsyslog\fP(2) を参照)。 Linux 3.4 以降では \fBCAP_SYS_ADMIN\fP
ケーパビリティを持ったユーザーだけがこのファイルの値を変更できる。
.TP 
\fI/proc/sys/kernel/domainname\fP と \fI/proc/sys/kernel/hostname\fP
これらのファイルは、コマンド \fBdomainname\fP(1), \fBhostname\fP(1)  と全く同じ方法で、 マシンの NIS/YP
ドメイン名とホスト名の設定に使える。 すなわち

.in +4n
.nf
#\fB echo \(aqdarkstar\(aq > /proc/sys/kernel/hostname\fP
#\fB echo \(aqmydomain\(aq > /proc/sys/kernel/domainname\fP
.fi
.in

は、以下と同じ効果がある。

.in +4n
.nf
#\fB hostname \(aqdarkstar\(aq\fP
#\fB domainname \(aqmydomain\(aq\fP
.fi
.in

注意: 典型的な darkstar.frop.org という名前には、 ホスト名 "darkstar" と DNS (Internet Domain
Name Server)  ドメイン名 "frop.org" が含まれているが、DNS ドメイン名と NIS (Network Information
Service) または YP (Yellow Pages) のドメイン名を混同してはならない。 一般にこれら 2 つのドメイン名は異なる。
詳細な議論は、 \fBhostname\fP(1)  の man ページを参照すること。
.TP 
\fI/proc/sys/kernel/hotplug\fP
このファイルはホットプラグポリシーエージェントのパスが書かれている。 このファイルのデフォルト値は \fI/sbin/hotplug\fP である。
.TP 
\fI/proc/sys/kernel/htab\-reclaim\fP
(PowerPC のみ) このファイルを 0 以外の値に設定すると、 PowerPC htab (カーネルソースファイル
\fIDocumentation/powerpc/ppc_htab.txt\fP 参照) を、システムがアイドルループになるたびに切り詰める。
.TP 
\fI/proc/sys/kernel/kptr_restrict\fP (Linux 2.6.38 以降)
.\" 455cd5ab305c90ffc422dd2e0fb634730942b257
.\" commit 411f05f123cbd7f8aa1edcae86970755a6e2a9d9
.\" commit 620f6e8e855d6d447688a5f67a4e176944a084e8
The value in this file determines whether kernel addresses are exposed via
\fI/proc\fP files and other interfaces.  A value of 0 in this file imposes no
restrictions.  If the value is 1, kernel pointers printed using the \fI%pK\fP
format specifier will be replaced with zeros unless the user has the
\fBCAP_SYSLOG\fP capability.  If the value is 2, kernel pointers printed using
the \fI%pK\fP format specifier will be replaced with zeros regardless of the
user's capabilities.  The initial default value for this file was 1, but the
default was changed to 0 in Linux 2.6.39.  Since Linux 3.4, only users with
the \fBCAP_SYS_ADMIN\fP capability can change the value in this file.
.TP 
\fI/proc/sys/kernel/l2cr\fP
(PowerPC のみ) このファイルには G3 プロセッサボードの L2 キャッシュを制御するフラグが含まれる。 0 の場合、キャッシュは無効になる。
0 以外の場合は有効になる。
.TP 
\fI/proc/sys/kernel/modprobe\fP
このファイルには、カーネルモジュールローダーへのパスが含まれる。 デフォルトの値は \fI/sbin/modprobe\fP
である。このファイルは、\fBCONFIG_MODULES\fP オプション (Linux 2.6.26 以前では \fBCONFIG_KMOD\fP)
を有効にしてカーネルが作成されている場合にのみ存在する。 このファイルについては、Linux カーネルソースファイル
\fIDocumentation/kmod.txt\fP (カーネル 2.4 以前のみに存在) に記述されている。
.TP 
\fI/proc/sys/kernel/modules_disabled\fP (Linux 2.6.31 以降)
.\" 3d43321b7015387cfebbe26436d0e9d299162ea1
.\" From Documentation/sysctl/kernel.txt
他のモジュールが有効になったカーネルへのモジュールのロードが許可されるかを示すオン・オフ値である。 デフォルト値はオフ (0) だが、 オン (1)
に設定することができる。 一度オンにすると、 モジュールをロードすることもアンロードすることもできなくなり、 この値をオフに戻すこともできない。
このファイルが存在するのは、 カーネルが \fBCONFIG_MODULES\fP オプションを有効にしてコンパイルされている場合だけである。
.TP 
\fI/proc/sys/kernel/msgmax\fP (Linux 2.2 以降)
このファイルは、System V メッセージキューに書き込まれる 1 つのメッセージの 最大バイト数を、システム全体で制限する。
.TP 
\fI/proc/sys/kernel/msgmni\fP (Linux 2.4 以降)
このファイルはメッセージキュー識別子の最大数をシステム全体で制限する。
.TP 
\fI/proc/sys/kernel/msgmnb\fP (Linux 2.2 以降)
このファイルは、 \fImsg_qbytes\fP の設定を初期化するシステム全体のパラメーターで
ある。 \fImsg_qbytes\fP は以降で作成されるメッセージキューで使われる。
\fImsg_qbytes\fP 設定では、メッセージキューに書き込まれる最大バイト数を指定する。
.TP 
\fI/proc/sys/kernel/ngroups_max\fP (Linux 2.6.4 以降)
このファイルは、プロセスグループのメンバー数の上限値を表示する読み出し専用のファイルである。
.TP 
\fI/proc/sys/kernel/ostype\fP と \fI/proc/sys/kernel/osrelease\fP
これらのファイルは文字列 \fI/proc/version\fP の各部分を与える。
.TP 
\fI/proc/sys/kernel/overflowgid\fP と \fI/proc/sys/kernel/overflowuid\fP
これらのファイルは \fI/proc/sys/fs/overflowgid\fP と \fI/proc/sys/fs/overflowuid\fP
を複製したものである。
.TP 
\fI/proc/sys/kernel/panic\fP
このファイルはカーネル変数 \fIpanic_timeout\fP への読み出しと書き込みのアクセスを与える。 この値が 0 ならば、パニック時にカーネルは
(無限) ループに入る。 0 でなければ、その秒数だけ待ってから自動的に再起動する。 ソフトウェア watchdog ドライバを使っている場合、
推奨される設定は 60 である。
.TP 
\fI/proc/sys/kernel/panic_on_oops\fP (Linux 2.5.68 以降)
このファイルは、oops や BUG が起こった場合のカーネルの動作を制御する。 ファイルに 0 が書かれている場合、システムは操作を続行しようとする。
1 が書かれている場合、システムは (klogd が oops 出力を記録する時間を与えるために) 数秒間遅延した後、 panic を起こす。
\fI/proc/sys/kernel/panic\fP ファイルも 0 でない場合、マシンは再起動される。
.TP 
\fI/proc/sys/kernel/pid_max\fP (Linux 2.5.34 以降)
.\" Prior to 2.6.10, pid_max could also be raised above 32768 on 32-bit
.\" platforms, but this broke /proc/[pid]
.\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=109513010926152&w=2
このファイルは、PID をいくつで終了にするかを指定する (すなわち、このファイルの値は最大 PID より 1 大きい)。 この値より大きな PID
値は割り当てられない。 したがって、このファイルの値はプロセスやスレッドの全体数のシステム全体での上限としても機能する。 このファイルのデフォルト値は
32768 であり、 その場合には以前のカーネルと同じ PID の範囲になる。 32ビットのプラットフォームでは、 \fIpid_max\fP の最大値は
32768 である。 64ビットのプラットフォームでは、 2^22 (\fBPID_MAX_LIMIT\fP, 約 4,000,000)
までの任意の値を設定できる。
.TP 
\fI/proc/sys/kernel/powersave\-nap\fP (PowerPC のみ)
このファイルにはフラグが書かれている。 フラグが設定されると、Linux\-PPC は 省電力の "nap" モードを使う。
設定されない場合は、"doze" モードが使われる。
.TP 
\fI/proc/sys/kernel/printk\fP
\fBsyslog\fP(2) 参照。
.TP 
\fI/proc/sys/kernel/pty\fP (Linux 2.6.4 以降)
このディレクトリは、UNIX 98 疑似端末 (\fBpts\fP(4) を参照) の数に関連する
2 つのファイルを含む。
.TP 
\fI/proc/sys/kernel/pty/max\fP
このファイルは疑似端末の最大数を定義する。
.TP 
\fI/proc/sys/kernel/pty/nr\fP
この読み出し専用のファイルは、現在いくつの疑似端末が使われているかを表す。
.TP 
\fI/proc/sys/kernel/random\fP
このディレクトリは、ファイル \fI/dev/random\fP の操作を制御する様々なパラメーターが書かれている。 詳細は \fBrandom\fP(4)
を参照。
.TP 
\fI/proc/sys/kernel/random/uuid\fP (Linux 2.4 以降)
この読み出し専用のファイルから読み出しを行うごとに、 ランダムに生成した 128 ビットの UUID を、 標準の UUID 形式の文字列として返す。
.TP 
\fI/proc/sys/kernel/real\-root\-dev\fP
このファイルは Linux カーネルソースファイル \fIDocumentation/initrd.txt\fP に記述されている。
.TP 
\fI/proc/sys/kernel/reboot\-cmd\fP (Sparc のみ) 
このファイルは SPARC ROM/Flash ブートローダーに引き数を渡す方法を 提供しているように思われる。
再起動後に何をするかを指定しているのだろうか?
.TP 
\fI/proc/sys/kernel/rtsig\-max\fP
(2.6.7 までのカーネルにのみ存在する。 \fBsetrlimit\fP(2)  を参照すること)  このファイルはシステムで発行される POSIX
real\-time (queued) signal の 最大数を調整するのに使用される。
.TP 
\fI/proc/sys/kernel/rtsig\-nr\fP
(2.6.7 までのカーネルにのみ存在する)  このファイルは現在キューに入っている POSIX real\-time signal の数を表す。
.TP 
\fI/proc/sys/kernel/sched_rr_timeslice_ms\fP (Linux 3.9 以降)
\fBsched_rr_get_interval\fP(2) 参照。
.TP 
\fI/proc/sys/kernel/sched_rt_period_us\fP (Linux 2.6.25 以降)
\fBsched\fP(7)  参照。
.TP 
\fI/proc/sys/kernel/sched_rt_runtime_us\fP (Linux 2.6.25 以降)
\fBsched\fP(7)  参照。
.TP 
\fI/proc/sys/kernel/sem\fP (Linux 2.4 以降)
このファイルには System V IPC セマフォを制限する 4 つの値が書かれている。 これらのフィールドは次の順番に並んでいる:
.RS
.IP SEMMSL 8
セマフォ集合ごとのセマフォ数の最大値。
.IP SEMMNS 8
システム全体での、全てのセマフォ集合におけるセマフォ数の制限。
.IP SEMOPM 8
\fBsemop\fP(2)  コールに指定されるオペレーション数の最大値。
.IP SEMMNI 8
システム全体でのセマフォ識別子の最大値。
.RE
.TP 
\fI/proc/sys/kernel/sg\-big\-buff\fP
このファイルは、汎用 SCSI デバイス (sg) のバッファーサイズの最大値を表す。 今はこれを変更することはできないが、 コンパイル時に
\fIinclude/scsi/sg.h\fP を編集して \fBSG_BIG_BUFF\fP の値を変えれば変更できる。
ただし、この値を変更する理由はないだろう。
.TP 
\fI/proc/sys/kernel/shm_rmid_forced\fP (Linux 3.1 以降)
.\" commit b34a6b1da371ed8af1221459a18c67970f7e3d53
.\" See also Documentation/sysctl/kernel.txt
If this file is set to 1, all System V shared memory segments will be marked
for destruction as soon as the number of attached processes falls to zero;
in other words, it is no longer possible to create shared memory segments
that exist independently of any attached process.
.IP
The effect is as though a \fBshmctl\fP(2)  \fBIPC_RMID\fP is performed on all
existing segments as well as all segments created in the future (until this
file is reset to 0).  Note that existing segments that are attached to no
process will be immediately destroyed when this file is set to 1.  Setting
this option will also destroy segments that were created, but never
attached, upon termination of the process that created the segment with
\fBshmget\fP(2).
.IP
Setting this file to 1 provides a way of ensuring that all System V shared
memory segments are counted against the resource usage and resource limits
(see the description of \fBRLIMIT_AS\fP in \fBgetrlimit\fP(2))  of at least one
process.
.IP
Because setting this file to 1 produces behavior that is nonstandard and
could also break existing applications, the default value in this file is
0.  Only set this file to 1 if you have a good understanding of the
semantics of the applications using System V shared memory on your system.
.TP 
\fI/proc/sys/kernel/shmall\fP (Linux 2.2 以降)
このファイルには System V 共有メモリーの総ページ数の システム全体での制限が書かれている。
.TP 
\fI/proc/sys/kernel/shmmax\fP (Linux 2.2 以降)
このファイルを通じて、(System V IPC) 共有メモリーセグメントを作成するときの 最大サイズの実行時上限 (run\-time limit)
を取得または設定できる。 現在は 1GB までの共有メモリーセグメントが カーネルでサポートされている。 この値のデフォルトは \fBSHMMAX\fP
である。
.TP 
\fI/proc/sys/kernel/shmmni\fP (Linux 2.4 以降)
このファイルは、システム全体で作成可能な System V 共有メモリーセグメント数を指定する。
.TP 
\fI/proc/sys/kernel/sysrq\fP
このファイルは、SysRq キーにより起動が許可されている関数群を制御する ものである。デフォルトでは、ファイルの内容は 1 であり、
これは起こり得る全ての SysRq リクエストが許可されることを意味する (古いバージョンのカーネルでは、SysRq はデフォルトでは無効になっており、
実行時に明示的に有効にする必要があったが、今はそうではない)。 このファイルで指定可能な値は以下の通り。

   0 \- sysrq を完全に無効にする
   1 \- sysrq の全ての関数を有効にする
  >1 \- 許可する sysrq 関数のビットマスク。内訳は以下の通り。
          2 \- コンソールのログレベルの制御を有効にする
          4 \- キーボードの制御を有効にする (SAK, unraw)
          8 \- プロセスなどのデバッグダンプを有効にする
         16 \- sync コマンドを有効にする
         32 \- 読み出し専用での再マウントを有効にする
         64 \- プロセスへのシグナル発行を有効にする (term, kill, oom\-kill)
        128 \- リブート/電源オフを許可する
        256 \- 全てのリアルタイムタスクの nice 値の変更を許可する

カーネル設定オプション \fBCONFIG_MAGIC_SYSRQ\fP が有効な場合のみ、このファイルは存在する。 詳細は、Linux
カーネルソースファイル \fIDocumentation/sysrq.txt\fP を参照のこと。
.TP 
\fI/proc/sys/kernel/version\fP
このファイルには、以下のような文字列が書かれている:

    #5 Wed Feb 25 21:49:24 MET 1998

\&"#5" はこのソースで構築された 5 番目のカーネルであることを意味する。 その後にある日付はカーネルが構築された時刻を表す。
.TP 
\fI/proc/sys/kernel/threads\-max\fP (Linux 2.3.11 以降)
このファイルは、システム全体で作成可能なスレッド数 (タスク数) の上限を指定する。
.TP 
\fI/proc/sys/kernel/zero\-paged\fP (PowerPC のみ) 
このファイルはフラグを含む。 (0 以外の値で) 有効された場合、Linux\-PPC はアイドルループで pre\-zero page
を行うので、get_free_pages の速度が向上する可能性がある。
.TP 
\fI/proc/sys/net\fP
このディレクトリにはネットワーク関係の情報が入っている。 このディレクトリにあるファイルのいくつかについては、 \fBtcp\fP(7)  や
\fBip\fP(7)  に説明がある。
.TP 
\fI/proc/sys/net/core/somaxconn\fP
このファイルは \fBlisten\fP(2)  の \fIbacklog\fP 引き数の上限値を規定する。 詳細は \fBlisten\fP(2)
のマニュアルページを参照。
.TP 
\fI/proc/sys/proc\fP
このディレクトリは空の場合もある。
.TP 
\fI/proc/sys/sunrpc\fP
このディレクトリはネットワークファイルシステム (NFS) への Sun remote procedure call (遠隔手続き呼び出し)
をサポートする。 これが存在しないシステムもある。
.TP 
\fI/proc/sys/vm\fP
このディレクトリにはメモリー管理の調整、バッファーやキャッシュ管理のための ファイルがある。
.TP 
\fI/proc/sys/vm/compact_memory\fP (Linux 2.6.35 以降)
When 1 is written to this file, all zones are compacted such that free
memory is available in contiguous blocks where possible.  The effect of this
action can be seen by examining \fI/proc/buddyinfo\fP.
.IP
カーネルの設定で \fBCONFIG_COMPACTION\fP が有効になっている場合にのみ存在する。
.TP 
\fI/proc/sys/vm/drop_caches\fP (Linux 2.6.16 以降)
このファイルに書き込みを行うと、カーネルに、 クリーンなキャッシュ、 dentry、 inode をメモリーから追い出して、
メモリーを解放させることができる。 この機能はメモリー管理のテストや再現可能なファイルシステムのベンチマークを行うのに役立つ。
このファイルへの書き込みはキャッシュの利点を失うことになるので、システム全体の性能は低下する可能性がある。

ページキャッシュを解放するには、以下のようにする。

    echo 1 > /proc/sys/vm/drop_caches

dentry と inode を解放するには、以下のようにする。

    echo 2 > /proc/sys/vm/drop_caches

ページキャッシュ、 dentry、 inode を解放するには、以下のようにする。

    echo 3 > /proc/sys/vm/drop_caches

このファイルへの書き込みは非破壊的な操作で、 ダーティな (dirty) オブジェクトは 解放されないので、 この操作を行う際は最初に
\fBsync\fP(1) を実行しておくべきである。
.TP 
\fI/proc/sys/vm/legacy_va_layout\fP (Linux 2.6.9 以降)
.\" The following is from Documentation/filesystems/proc.txt
0 以外の場合、新しい 32ビットメモリーマッピング配置が無効になり、 カーネルは全てのプロセスに対して従来の (カーネル 2.4 の) 配置方法を
使用する。
.TP 
\fI/proc/sys/vm/memory_failure_early_kill\fP (Linux 2.6.32 以降)
.\" The following is based on the text in Documentation/sysctl/vm.txt
このファイルは、カーネルが処理できない訂正不能なメモリーエラー (通常はメモリーモジュールでの 2 ビットエラー)
がバックグラウンドでハードウェアにより検出された際に、プロセスをどのように kill するかを制御する。
(ページの有効なコピーがディスク上にも存在するなど)
いくつかの場面では、カーネルはアプリケーションに影響を与えずに透過的に故障を処理する。しかし、データの最新のコピーが他にはない場合には、データ破壊が波及するのを防ぐため、カーネルはプロセスを
kill する。

このファイルは以下のいずれかの値を持つ。
.RS
.IP 1: 4
データ破壊が検出されるとすぐに、故障が検出され復元できないページ (corrupted\-and\-not\-reloadable page)
をマップしている全てのプロセスを kill する。この機能は、(カーネル内部で割り当てられたデータやスワップのキャッシュなど)
少数のいくつかのタイプのページではサポートされていないが、大半のユーザーページではこの機能は働く。
.IP 0: 4
データ破壊が検出されたページの全てのプロセスからの unmap のみを行い、そのページにアクセスしようとしたプロセスのみを kill する。
.RE
.IP
この kill は \fIsi_code\fP に \fBBUS_MCEERR_AO\fP を設定した \fBSIGBUS\fP
シグナルを使って行われる。プロセス側では必要であればこのシグナルを処理することができる。詳細は \fBsigaction\fP(2) を参照。

この機能は、高度なマシンチェック機構を持ったアーキテクチャー/プラットフォームにおいてのみ有効であり、ハードウェア機能にも依存している。

アプリケーションは \fBprctl\fP(2) の \fBPR_MCE_KILL\fP 操作を使って個別に
\fImemory_failure_early_kill\fP の設定を上書きすることができる。
.IP
カーネルの設定で \fBCONFIG_MEMORY_FAILURE\fP が有効になっている場合にのみ
存在する。
.TP 
\fI/proc/sys/vm/memory_failure_recovery\fP (Linux 2.6.32 以降)
.\" The following is based on the text in Documentation/sysctl/vm.txt
メモリー故障回復 (memory failure recovery) を有効にする
 (プラットフォームがサポートしている場合)
.RS
.IP 1: 4
回復を試みる。
.IP 0: 4
メモリー故障時には常に panic を起こす。
.RE
.IP
カーネルの設定で \fBCONFIG_MEMORY_FAILURE\fP が有効になっている場合にのみ
存在する。
.TP 
\fI/proc/sys/vm/oom_dump_tasks\fP (Linux 2.6.25 以降)
.\" The following is from Documentation/sysctl/vm.txt
カーネルが OOM\-killing を実行する際に、システム全体のタスクダンプ (カーネルスレッドを除く) を生成するかを制御する。 ダンプには、タスク
(スレッド、プロセス) 毎に以下の情報が出力される: スレッド ID、実ユーザー ID、スレッドグループ ID (プロセス ID)、
仮想メモリーサイズ、Resident Set Size (実メモリー上に存在するページサイズ)、 タスクがスケジューリングされた CPU、
oom_adj スコア (\fI/proc/[pid]/oom_adj\fP の説明を参照)、コマンド名。 このダンプ情報は、なぜ OOM\-killer
が起動されたかを知り、 その原因となったならず者のタスクを特定するのに役に立つ。

このファイルの内容が値 0 の場合、ダンプ情報の出力は行われない。 タスクが何千もある非常に巨大なシステムでは、
各々のタスクについてメモリー状態をダンプするのは適切でないかもしれない。 そのようなシステムでは、ダンプ情報が必要でもないときに メモリー不足
(OOM) の状況で性能面の不利益が起こらないようにすべきだろう。

このファイルの内容が 0 以外の場合、 OOM\-killer が実際にメモリーを占有したタスクを kill する度に ダンプ情報が出力される。

デフォルト値は 0 である。
.TP 
\fI/proc/sys/vm/oom_kill_allocating_task\fP (Linux 2.6.24 以降)
.\" The following is from Documentation/sysctl/vm.txt
このファイルは、メモリー不足 (OOM) の状況が起こった際に、 メモリー不足のきっかけとなったタスクを kill するかどうかを制御する。

このファイルが 0 に設定された場合、 OOM\-killer はタスクリスト全体をスキャンし、経験則に基づき kill するタスクを選択する。
通常は、kill した場合に多くのメモリーが解放できる、 ならず者のメモリー占有タスクが選択される。

このファイルが 0 以外に設定された場合、 OOM\-killer はメモリー不足の状況が発生するきっかけとなったタスクを 単純に kill
するだけである。 これにより、たいていは重い処理となるタスクリストのスキャンを回避できる。

\fI/proc/sys/vm/panic_on_oom\fP が 0 以外の場合、
\fI/proc/sys/vm/oom_kill_allocating_task\fP にどのような値が入っていたとしても、
\fI/proc/sys/vm/panic_on_oom\fP の方が優先される。

デフォルト値は 0 である。
.TP 
\fI/proc/sys/vm/overcommit_kbytes\fP (Linux 3.14 以降)
.\" commit 49f0ce5f92321cdcf741e35f385669a421013cb7
この書き込み可能なファイルは、 \fI/proc/sys/vm/overcommit_memory\fP が値 2 の際に、 \fICommitLimit\fP
を制御する \fI/proc/sys/vm/overcommit_ratio\fP の別の設定手段を提供するものである。
\fIovercommit_ratio\fP が割合をパーセントで指定するのに対し、 このファイルではオーバーコミットするメモリー量を絶対値 (kB 単位)
で指定できる。 これにより、 メモリーサイズが非常に大きなシステムで \fICommitLimit\fP を極め細かく制御できる。

\fIovercommit_kbytes\fP と \fIovercommit_ratio\fP のいずれか一方だけが効果を持つ。
\fIovercommit_kbytes\fP が 0 以外の値を持つ場合、 \fICommitLimit\fP を計算するのに
\fIovercommit_kbytes\fP が使用され、 それ以外の場合 \fIovercommit_ratio\fP が使用される。
これらのファイルのいずれかに値を書き込むと、 他のファイルの値は 0 に設定される。
.TP 
\fI/proc/sys/vm/overcommit_memory\fP
このファイルにはカーネル仮想メモリーのアカウントモードが書かれている。 値は以下の通り:
.RS
.IP
0: 発見的なオーバーコミット (heuristic overcommit) (これがデフォルトである)
.br
1: 常にオーバーコミットし、チェックしない。
.br
2: 常にチェックし、オーバーコミットしない。
.RE
.IP
モード 0 では、 \fBMAP_NORESERVE\fP を設定して呼び出された \fBmmap\fP(2)  はチェックされない。
またデフォルトのチェックはとても脆弱で、 プロセスを "OOM\-kill" してしまうリスクを引き起こす。 Linux 2.4 では 0
以外の値はモード 1 を意味する。

モード 2 (Linux 2.6 以降で利用可能) では、 割り当て可能な仮想アドレス空間 (\fI/proc/meminfo\fP の
\fICommitLimit\fP) は以下で計算される。

    CommitLimit = (total_RAM \- total_huge_TLB) *
                  overcommit_ratio / 100 + total_swap

個々の説明:
.RS 12
.IP * 3
\fItotal_RAM\fP はシステム上の RAM の総量
.IP *
\fItotal_huge_TLB\fP はヒュージページ用に確保されたメモリー総量
.IP *
\fIovercommit_ratio\fP は \fI/proc/sys/vm/overcommit_ratio\fP の値
.IP *
\fItotal_swap\fP はスワップ空間の総量
.RE
.IP
例えば、 物理 RAM が 16GB で、 スワップが 16GB で、 ヒュージページ専用の空間がなく、 \fIovercommit_ratio\fP が
50 のシステムでは、 この式から \fICommitLimit\fP として 24GB の値が得られる。

Linux 3.14 以降では、 \fI/proc/sys/vm/overcommit_kbytes\fP の値が 0 でない場合、
\fICommitLimit\fP は代わりに以下のように計算される。

    CommitLimit = overcommit_kbytes + total_swap
.TP 
\fI/proc/sys/vm/overcommit_ratio\fP (Linux 2.6.0 以降)
この書き込み可能なファイルは、 オーバーコミットできるメモリーの割合をパーセントで定義する。 このファイルのデフォルト値は 50 である。
\fI/proc/sys/vm/overcommit_memory\fP の説明を参照。
.TP 
\fI/proc/sys/vm/panic_on_oom\fP (Linux 2.6.18 以降)
.\" The following is adapted from Documentation/sysctl/vm.txt
このファイルは、メモリー不足時にカーネルパニックを 起こすか起こさないかを制御する。

このファイルに値 0 を設定すると、 カーネルの OOM\-killer がならず者のプロセスを kill する。 普通は、OOM\-killer
がならず者のプロセスを kill することができ、 システムは何とか動き続けることができる。

このファイルに値 1 を設定すると、 メモリー不足の状況が発生すると、カーネルは普通はパニックする。 しかしながら、プロセスが メモリーポリシー
(\fBmbind\fP(2)  の \fBMPOL_BIND\fP)  や cpusets (\fBcpuset\fP(7))
を使って特定のノードへのメモリー割り当てを制限していて、 それらのノードでメモリー枯渇状態に至った場合は、 一つのプロセスが OOM\-killer
により kill されるだけかもしれない。 この場合には、カーネルパニックは発生しない。 なぜなら、他のノードのメモリーには空きがあるかもしれず、
したがって、システム全体としてはメモリー不足の状況にまだ達していないかも しれないからである。

このファイルに値 2 を設定すると、 メモリー不足の状況が発生するとカーネルは常にパニックを起こす。

デフォルト値は 0 である。 1 と 2 はクラスタリングのフェイルオーバー用である。 フェイルオーバーの方針に応じてどちらかの値を選択すること。
.TP 
\fI/proc/sys/vm/swappiness\fP
.\" The following is from Documentation/sysctl/vm.txt
このファイルの値により、カーネルがどの程度激しくメモリーページの スワップを行う
かが制御される。 大きな値ほどスワップが激しくなり、小さい値ほど激しくなくなる。
デフォルト値は 60 である。
.TP 
\fI/proc/sysrq\-trigger\fP (Linux 2.4.21 以降)
このファイルに文字 character を書き込むと、 キーボードから ALT\-SysRq\-<character> を入力した場合と
同じ SysRq 関数が起動される (\fI/proc/sys/kernel/sysrq\fP の説明を参照)。 通常、このファイルへ書き込みができるのは
\fIroot\fP だけである。詳細については、Linux カーネルソースファイルの \fIDocumentation/sysrq.txt\fP を参照のこと。
.TP 
\fI/proc/sysvipc\fP
疑似ファイル \fImsg\fP, \fIsem\fP, \fIshm\fP を含むサブディレクトリ。 これらのファイルは、現在システム上に存在する System V
プロセス間通信 (Interprocess Communication, IPC) オブジェクト (それぞれ:
メッセージキュー、セマフォ、共有メモリー)  のリストであり、 \fBipcs\fP(1)  で取得できる情報と同じものを提供する。
これらのファイルにはヘッダーがあり、理解しやすいように (1 行につき 1 個の IPC オブジェクトの形式で) フォーマットされている。
\fBsvipc\fP(7)  にはこれらのファイルから分かる情報の詳細な背景が書かれている。
.TP 
\fI/proc/thread\-self\fP (Linux 3.17 以降)
.\" commit 0097875bd41528922fb3bb5f348c53f17e00e2fd
このディレクトリは、\fI/proc\fP ファイルシステムにアクセスしたスレッドを参照している。 これは、同じスレッドのプロセススレッド ID
(\fI[tid]\fP) の名前の \fI/proc/self/task/[tid]\fP ディレクトリと同一である。
.TP 
\fI/proc/timer_list\fP (Linux 2.6.21 以降)
.\" commit 289f480af87e45f7a6de6ba9b4c061c2e259fe98
This read\-only file exposes a list of all currently pending
(high\-resolution) timers, all clock\-event sources, and their parameters in a
human\-readable form.
.TP 
\fI/proc/timer_stats\fP (Linux 2.6.21 以降)
.\" commit 82f67cd9fca8c8762c15ba7ed0d5747588c1e221
.\"	Date:   Fri Feb 16 01:28:13 2007 -0800
.\" Text largely derived from Documentation/timers/timer_stats.txt
This is a debugging facility to make timer (ab)use in a Linux system visible
to kernel and user\-space developers.  It can be used by kernel and
user\-space developers to verify that their code does not make undue use of
timers.  The goal is to avoid unnecessary wakeups, thereby optimizing power
consumption.

If enabled in the kernel (\fBCONFIG_TIMER_STATS\fP), but not used, it has
almost zero runtime overhead and a relatively small data\-structure
overhead.  Even if collection is enabled at runtime, overhead is low: all
the locking is per\-CPU and lookup is hashed.

The \fI/proc/timer_stats\fP file is used both to control sampling facility and
to read out the sampled information.

The timer_stats functionality is inactive on bootup.  A sampling period can
be started using the following command:

    # echo 1 > /proc/timer_stats

The following command stops a sampling period:

    # echo 0 > /proc/timer_stats

The statistics can be retrieved by:

    $ cat /proc/timer_stats

While sampling is enabled, each readout from \fI/proc/timer_stats\fP will see
newly updated statistics.  Once sampling is disabled, the sampled
information is kept until a new sample period is started.  This allows
multiple readouts.

\fI/proc/timer_stats\fP のサンプル出力。

.nf
.RS -4
$\fB cat /proc/timer_stats\fP
Timer Stats Version: v0.3
Sample period: 1.764 s
Collection: active
  255,     0 swapper/3        hrtimer_start_range_ns (tick_sched_timer)
   71,     0 swapper/1        hrtimer_start_range_ns (tick_sched_timer)
   58,     0 swapper/0        hrtimer_start_range_ns (tick_sched_timer)
    4,  1694 gnome\-shell      mod_delayed_work_on (delayed_work_timer_fn)
   17,     7 rcu_sched        rcu_gp_kthread (process_timeout)
\&...
    1,  4911 kworker/u16:0    mod_delayed_work_on (delayed_work_timer_fn)
   1D,  2522 kworker/0:0      queue_delayed_work_on (delayed_work_timer_fn)
1029 total events, 583.333 events/sec

.fi
.RE
.IP
The output columns are:
.RS
.IP * 3
.\" commit c5c061b8f9726bc2c25e19dec227933a13d1e6b7 deferrable timers
a count of the number of events, optionally (since Linux 2.6.23) followed by
the letter \(aqD\(aq if this is a deferrable timer;
.IP *
the PID of the process that initialized the timer;
.IP *
the name of the process that initialized the timer;
.IP *
the function where the timer was initialized; and
.IP *
(in parentheses)  the callback function that is associated with the timer.
.RE
.TP 
\fI/proc/tty\fP
疑似ファイルを含むサブディレクトリ。 tty ドライバとライン設定 (line discipline) の書かれた サブディレクトリも含まれる。
.TP 
\fI/proc/uptime\fP
このファイルは システム起動時から経過した時間 (秒) と アイドル (idle) しているプロセスが消費した時間 (秒) の 2 つの数を含む。
.TP 
\fI/proc/version\fP
現在稼働しているカーネルのバージョン識別子である文字列。 これには \fI/proc/sys/ostype\fP,
\fI/proc/sys/osrelease\fP, \fI/proc/sys/version\fP の内容が含まれる。 たとえばこのように:
.nf
.in -2
\f(CWLinux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994\fP
.in +2
.fi
.\" FIXME 2.6.13 seems to have /proc/vmcore implemented; document this
.\" 	See Documentation/kdump/kdump.txt
.\"	commit 666bfddbe8b8fd4fd44617d6c55193d5ac7edb29
.\" 	Needs CONFIG_VMCORE
.\"
.TP 
\fI/proc/vmstat\fP (Linux 2.6 以降)
このファイルは仮想メモリーの様々な統計情報を表示する。
.TP 
\fI/proc/zoneinfo\fP (Linux 2.6.13 以降)
.\" FIXME more should be said about /proc/zoneinfo
このファイルはメモリーのゾーン (memory zone) に関する情報を表示する。 仮想メモリーの振舞いを分析するのに役立つ。
.SH 注意
ほとんどの文字列 (たとえば環境変数やコマンド行) は内部表現のままなので、
各フィールドはヌルバイト (\(aq\e0\(aq) で区切られている。だから、
\fIod \-c\fP や \fItr "\e000" "\en"\fP を使えば、それらはより読みやすくなる。
また \fIecho \`cat <file>\`\fP でもよい。

.\" .SH ACKNOWLEDGEMENTS
.\" The material on /proc/sys/fs and /proc/sys/kernel is closely based on
.\" kernel source documentation files written by Rik van Riel.
このマニュアルは不完全であり、たぶん不正確で、しばしば更新される必要がある。
.SH 関連項目
\fBcat\fP(1), \fBdmesg\fP(1), \fBfind\fP(1), \fBfree\fP(1), \fBps\fP(1), \fBtr\fP(1),
\fBuptime\fP(1), \fBchroot\fP(2), \fBmmap\fP(2), \fBreadlink\fP(2), \fBsyslog\fP(2),
\fBslabinfo\fP(5), \fBhier\fP(7), \fBnamespaces\fP(7), \fBtime\fP(7), \fBarp\fP(8),
\fBhdparm\fP(8), \fBifconfig\fP(8), \fBinit\fP(1), \fBlsmod\fP(8), \fBlspci\fP(8),
\fBmount\fP(8), \fBnetstat\fP(8), \fBprocinfo\fP(8), \fBroute\fP(8), \fBsysctl\fP(8)

Linux カーネルのソースファイル: \fIDocumentation/filesystems/proc.txt\fP
\fIDocumentation/sysctl/fs.txt\fP, \fIDocumentation/sysctl/kernel.txt\fP,
\fIDocumentation/sysctl/net.txt\fP, and \fIDocumentation/sysctl/vm.txt\fP.
.SH この文書について
この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。