بررسی مقدار رم استفاده شده در سرور لینوکس

بررسی مقدار رم استفاده شده در سرور لینوکس
لیست مطالبی که در این مقاله می خوانید:

در اکثر توزیع های لینوکس چندین دستور برای بررسی و چک کردن مقدار رم استفاده شده در سرور وجود دارد:

  • دستور Free

اولین فرمان Free است. برای استفاده از آن ، به سادگی دستور زیر را اجرا کنید:

free –m $

نکته مهمی که جود دارد توجه به مقدار “used” در ردیف “buffers/cache” است. این مقدار به شما خواهد گفت که چه مقدار از حافظه رم شما در حال حاضر استفاده شده است. اگر این مقدار از فضای کل حافظه و یا فضای جانشینی بیشتر باشد خطای تخصیص حافظه رخ خواهد داد. برای بررسی مقدار فضای آزاد RAM ستون “free” در ردیف “buffers/cache” را بررسی می کنیم:

 

free -m $

total       used       free     shared   buffers     cached

Mem:         7976       6459       1517         0       865       2248

 buffers/cache:      3344       4631+/-

Swap:         1951         0       1951

  •  دستور PS

فرمان دیگری که وجود دارد PS است که به شما تمامی فرایندهای در حال اجرا توسط RAM را به صورت درصدی از کل RAM نشان می دهد:

ps aux $

USER        PID    %CPU    %MEM      VSZ      RSS     TTY   STAT    START     TIME    COMMAND

timothy   29217     0.0        0.0      11916   4560   pts/21   S+        08:15   0:00        pine

[root        29505     0.0        0.0      38196   2728      ?       Ss         Mar07   0:00        sshd: can [priv

can         29529     0.0        0.0      38332   1904      ?       S          Mar07   0:00        sshd: can@notty

  • دستور proc/meminfo/

راه دیگر برای بررسی میزان حافظه خواندن فایل /proc/meminfo می باشد. می دانیم که سیستم فایل proc/ حاوی فایل های واقعی نیست و دارای فایل های مجازی می باشد که حاوی اطلاعات درمورد kernel و سیستم می باشند.

 cat /proc/meminfo $

MemTotal:               8167848 kB

MemFree:                1409696 kB

Buffers:                   961452 kB

Cached:                  2347236 kB

SwapCached:           0 kB

Active:                   3124752 kB

Inactive:                 2781308 kB

Active(anon):          2603376 kB

Inactive(anon):        309056 kB

Active(file):             521376 kB

Inactive(file):           2472252 kB

Unevictable:            5864 kB

Mlocked:                 5880 kB

SwapTotal:             1998844 kB

SwapFree:              1998844 kB

Dirty:                      7180 kB

Writeback:              0 kB

AnonPages:             2603272 kB

Mapped:                 788380 kB

Shmem:                 311596 kB

Slab:                      200468 kB

SReclaimable:          151760 kB

SUnreclaim:            48708 kB

KernelStack:           6488 kB

PageTables:           78592 kB

NFS_Unstable:        0 kB

Bounce:                 0 kB

WritebackTmp:       0 kB

CommitLimit:           6082768 kB

Committed_AS:       9397536 kB

VmallocTotal:          34359738367 kB

VmallocUsed:           420204 kB

VmallocChunk:         34359311104 kB

HardwareCorrupted:     0 kB

AnonHugePages:         0 kB

HugePages_Total:       0 kB

HugePages_Free:        0

HugePages_Rsvd:        0

HugePages_Surp:        0

Hugepagesize:            2048 kB

DirectMap4k:              62464 kB

DirectMap2M:             8316928 kB

 

دستور Vmstat همراه با optionها آماری کلی از حافظه استفاده شده می سازد که بسیار شبیه به دستور proc است به مثال زیر توجه کنید:

  vmstat -s $

     8167848         k   total    memory

      7449376         K   used    memory

         3423872        K   active   memory

3140312        K   inactive memory

718472              K   free memor

1154464          K   buffer memory

2422876              K   swap cache

1998844                K   total swap

0                K   used swap

1998844                 K   free swap

392650    non-nice user cpu ticks

8073          nice user cpu ticks

83959             system cpu ticks

10448341                  idle cpu ticks

91904             IO-wait cpu ticks

                  0                  IRQ cpu ticks

2189               softirq cpu ticks

0               stolen cpu ticks

 2042603              pages paged in

2614057            pages paged out

0         pages swapped in

0        pages swapped out

42301605 interrupts

            94581566     CPU context switches

1382755972                      boot time

8567                         forks

چند خط بالا کل حافظه، حافظه آزاد و … را نمایش می دهد.

  • دستور Top command

از دستور Top به طور کلی برای بررسی CPU و حافظه ی استفاده شده در هر فرایند استفاده می شود. با این حال می توان از آن برای گزارش کل حافظه استفاده شده و نظارت بر کل RAM استفاده کرد. اطلاعات مورد نیاز در هدر خروجی می باشد. مثالی از خروجی به صورت زیر است:

 

top  –  15:20:30  up  6:57,   5 users,   load average: 0.64,   0.44,   0.33

Tasks: 265 total,   1 running,  263 sleeping,   0 stopped,   1 zombie

Cpu(s): 7.8 us,   2.4 sy,   0.0 ni,   88.9 id,   0.9 wa,   0.0 hi,   0.0 si,   0.0 st%

KiB Mem:   8167848 total,   6642360 used,   1525488 free,   1026876 buffers

KiB Swap: 1998844 total,       0 used,   1998844 free,   2138148 cached

PID USER        PR      NI     VIRT     RES     SHR     S     %CPU     %MEM       TIME+     COMMAND

2986enlighte   20       0     584m    42m    26m     S      14.3         0.5         0:44.27     yakuake

1305root        20       0     448m    68m    39m     S       5.0          0.9         3:33.98        Xorg

7701enlighte   20       0     424m    17m    10m     S       4.0          0.2         0:00.12      kio_thumbnail

به خط KiB Mem and KiB Swap توجه کنید. این دو خط مقدار کل حافظه، مقدار استفاده شده و مقدار حافظه آزاد را نمایش می دهد. اطلاعات بافر و کش نیز در این دستور وجود دارد که شبیه به دستور Free است.

  • دستور htop

بسیار شبیه به دستور بالاست. این دستور حافظه مورد استفاده همراه با جزئیات مختلف را نمایش می دهد:

 

بررسی مقدار رم استفاده شده در سرور لینوکس

بررسی مقدار رم استفاده شده در سرور لینوکس

هدر بالا CPU استفاده شده همراه باswap و RAM را با آمار و ارقام مربوطه نشان می دهد.

اطلاعات سخت افزاری RAM

برای پیداکردن اطلاعات سخت افزاری درباره RAM نصب شده از دستور demidecode استفاده می کنیم. این دستور اطلاعات زیادی درباره حافظه RAM نصب شده در اختیار ما قرار می دهد.

sudo dmidecode -t 17 $

dmidecode 2.11 #

.SMBIOS 2.4 present

Handle 0x0015, DMI type 17, 27 bytes

Memory Device

Array Handle: 0x0014      

Error Information Handle: Not Provided      

Total Width: 64 bits      

Data Width: 64 bits      

Size: 2048 MB      

Form Factor: DIMM      

Set: None      

Locator: J1MY      

Bank Locator: CHAN A DIMM 0      

Type: DDR2      

Type Detail: Synchronous      

Speed: 667 MHz      

Manufacturer: 0xFF00000000000000      

Serial Number: 0xFFFFFFFF      

Asset Tag: Unknown      

   Part Number: 0x524D32474235383443412D36344643FFFFFF

*یکی از مزایای سرور مجازی این است که در صورت کمبود حافظه می توانید آن را به پلن بالاتر ارتقا دهید. در صورتی که نیاز به ارتقاء سرویس خود داشتید می توانید با ارسال تیکت و یا از طریق چت ما را مطلع نمایید.

نظرات کاربران