فایل سیستم proc/
فهرست proc/ در لینوکس حاوی اطلاعات مفیدی در مورد پروسهها و اطلاعات سیستمی است که آشنایی با اون واقعاَ مفیده. proc/ یه Virtual File System یا سیستم فایل مجازیه که در واقع توسط procfs در مسیر proc/ مپ میشه. procfs یه رابط با کرنله که از ساختمان دادهی کرنل استفاده میکنه تا اطلاعاتی راجع به سیستم استخراج کنه.
اگر نگاهی به داخل این پوشه بندازید مجموعهای از فایلها و پوشههای شمارهدار را خواهید دید.
┌[ali☮localhost.localdomain]-(/proc)
└> ls /proc
1 11 1230 131 16 229 27 321 358 400 426 5 63 927 cgroups fs locks slabinfo vmstat
10 1101 125 133 1616 23 2703 322 369 401 429 5003 64 928 cmdline interrupts mdstat softirqs zoneinfo
1007 1108 126 1333 17 2365 273 323 370 402 430 51 68 944 consoles iomem meminfo stat
1011 1111 1260 134 18 2382 274 324 38 4065 435 5188 7 948 cpuinfo ioports misc swaps
1047 1126 1263 135 1886 240 2752 328 381 408 438 5326 70 952 crypto irq modules sys
1050 1166 1267 1352 1895 2406 28 33 382 409 451 5373 77 964 devices kallsyms mounts sysrq-trigger
1069 12 1268 1380 2 2415 29 331 384 41 452 5402 793 968 diskstats kcore mtrr sysvipc
1075 1200 127 1424 20 25 295 3324 388 4181 4590 55 797 984 dma keys net timer_list
1081 1204 1273 1426 2029 2538 3 34 39 4185 4615 56 8 992 dri key-users pagetypeinfo timer_stats
1085 1206 128 1443 21 254 30 35 391 42 4700 57 855 acpi driver kmsg partitions tty
1088 1216 1282 15 214 26 307 352 392 4213 475 58 860 asound execdomains kpagecount sched_debug uptime
1095 1222 1287 1509 22 260 31 353 393 424 4807 59 863 buddyinfo fb kpageflags scsi version
1099 1224 13 1599 2252 2658 32 354 40 425 487 60 9 bus filesystems loadavg self vmallocinfo
پوشههای شماره دار همان پروسهها هستند که با Pid (اگر نمیدانید Pid چیست اینجا را ببینید) مشخص میشوند. برای هر Pid یک پوشه در proc/ خواهید دید.
فایلها هم شامل اطلاعات سیستمی مانند Ram و CPU هستند. برای دیدن این اطلاعات میتوانید از دستور cat استفاده کنید.
برای مثال فایل cpuinfo شامل اطلاعاتی در مورد CPU شماست.
┌[ali☮localhost.localdomain]-(/proc)
└> cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz
...
cpu MHz : 933.000
cache size : 3072 KB
...
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt lahf_lm arat dtherm tpr_shadow vnmi flexpriority ept vpid
...
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
...
...
فایل meminfo هم اطلاعات کاملی راجع به حافظههای سیستم در اختیار شما میگذارد.
┌[ali☮localhost.localdomain]-(/proc)
└> cat /proc/meminfo
MemTotal: 5965864 kB
MemFree: 3420544 kB
Buffers: 55148 kB
Cached: 928440 kB
SwapCached: 0 kB
Active: 1595872 kB
Inactive: 724960 kB
Active(anon): 1338188 kB
Inactive(anon): 23584 kB
Active(file): 257684 kB
Inactive(file): 701376 kB
Unevictable: 32 kB
Mlocked: 32 kB
SwapTotal: 6045692 kB
SwapFree: 6045692 kB
Dirty: 252 kB
Writeback: 0 kB
AnonPages: 1337276 kB
Mapped: 210084 kB
Shmem: 24536 kB
Slab: 97032 kB
SReclaimable: 56728 kB
SUnreclaim: 40304 kB
KernelStack: 3648 kB
PageTables: 30156 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 9028624 kB
Committed_AS: 3757492 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 306692 kB
VmallocChunk: 34359424128 kB
HardwareCorrupted: 0 kB
AnonHugePages: 538624 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 69440 kB
DirectMap2M: 6074368 kB
این هم لیستی از فایلهای موجود در proc/ به همراه توضیحاتی کوتاه.
proc/cmdline/ : اطلاعات command line کرنل
proc/console/ : اطلاعاتی در مورد console های جاری
proc/devices/ : اطلاعاتی در مورد درایورهای پیکربندی شده برای اجرای کرنل
proc/dma/ : اطلاعاتی در مورد کانالهای جاری DMA
proc/fb/ : اطلاعاتی در مورد وسایل فریم بافر
proc/filesystem/ : اطلاعاتی در مورد فایل سیستمهای پشتیبانی شده توسط کرنل
proc/iomem/ : اطلاعاتی در مورد memory map فعلی وسائل متصل
proc/ioports/ : اطلاعاتی در مورد پورتهای ورودی و خروجی مورد استفاده
proc/loadavg/ : اطلاعاتی در مورد System load average
proc/locks/ : اطلاعاتی در مورد فایلهایی که توسط کرنل قفل شدهاند
proc/meminfo/ : اطلاعاتی در مورد حافظههای سیستم
proc/modules/ : اطلاعاتی در مورد ماژولهای لود شده در کرنل
proc/mounts/ : اطلاعاتی در مورد تمام وسائل مانت شده در سیستم
proc/partitions/ : اطلاعاتی در مورد پارتیشنهای مانت شده در سیستم
proc/pci/ : اطلاعاتی در مورد وسائل PCI
proc/stat/ : ظبط یا نمایش اطلاعات آماری restart قبلی
proc/swap/ : اطلاعاتی در مورد فضای swap
proc/uptime/ : زمان uptime سیستم به ثانیه
proc/version/ : نمایش ورژن کرنل, gcc و توزیع لینوکس نصب شده.
منبع : +