صفر و یک - برنامه نویسی - لینوکس

دست نوشته های شخصی من در مورد نرم افزار، سیستم عامل و برنامه نویسی لینوکس

صفر و یک - برنامه نویسی - لینوکس

دست نوشته های شخصی من در مورد نرم افزار، سیستم عامل و برنامه نویسی لینوکس

لیدورا یک وبلاگ تخصصی برنامه نویسی یا لینوکس نیست. بیشتر محلیه برای ثبت چیزهایی که قراره بیشتر از یه بار خونده بشن. اگه به درد شما هم خورد که زکات دانش ما پرداخت شده، شکر.

آخرین نظرات

نویسندگان

فایل سیستم proc/

سه شنبه, ۵ آذر ۱۳۹۲، ۱۱:۳۷ ق.ظ

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 و توزیع لینوکس نصب شده.

 

 

منبع : +

نظرات  (۲)

 matlab mikhastam  dar rabete ba dastooore s-proc dar linux
پاسخ:
سلام آرام جان.
منظورتون از s-proc چیه؟ متوجه نشدم. اگه سیستم فایل proc/ منظورتونه اینجا رو ببینید

سلام

جاهای مختلفی دنبال معنای ساده و دقیق بودم، و در سایت های دیگه آنقدر شوخی و طنز در مطالبشون بود با مثالهای فکاهی که در آخر متوجه نمیشدم چی شد! ولی شما بسیا شفاف و ساده توضیح دادید و برای من بسیار خوب بود.

 

تشکر

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی