Lenh xem ram linux

Lenh xem ram linux

Show

  • 1. free
  • 2. /proc/meminfo
  • 3. vmstat
  • 4. top
  • 5. htop
  • 6. dmidecode

Trên hệ thống Linux, các lệnh (command) hầu như đầy đủ cho mọi thứ, vì GUI có thể không phải lúc nào cũng có sẵn. Khi làm việc trên các máy chủ, chỉ có quyền truy cập shell và mọi thứ phải được thực hiện từ các lệnh này. Vì vậy, hôm nay mình sẽ hướng dẫn bạn kiểm tra, sử dụng các lệnh để kiểm tra việc sử dụng bộ nhớ trên hệ thống linux. Bộ nhớ bao gồm RAM và SWAP

Điều quan trọng là thường xuyên kiểm tra mức sử dụng bộ nhớ và bộ nhớ được sử dụng cho mỗi quy trình trên máy chủ để tài nguyên không bị thiếu và người dùng có thể truy cập máy chủ. Ví dụ một trang web. Nếu bạn đang chạy một máy chủ web, thì máy chủ phải có đủ bộ nhớ để phục vụ khách truy cập vào trang web. Nếu không, trang web sẽ trở nên rất chậm hoặc thậm chí ngừng hoạt động khi có lưu lượng truy cập tăng đột biến, đơn giản vì bộ nhớ sẽ bị giảm.

1. free

Lệnh free -m là lệnh đơn giản và dễ sử dụng nhất để kiểm tra việc sử dụng bộ nhớ trên linux. Bên dưới là một ví dụ

[root@kblinux ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:          31848        1829       16365        1766       13652       25838
Swap:          7999           0        7999

Tùy chọn m hiển thị tất cả dữ liệu tính bằng MB. Giá trị total 31848 MB là tổng dung lượng RAM được cài đặt trên hệ thống, tức là 32GB. Cột used cho thấy dung lượng RAM đã được sử dụng bởi linux, trong trường hợp này là khoảng 1,8 GB. Output của câu lệnh này khá dễ hiểu. Cái ta cần nắm được là cột cached và buffers. Dòng thứ hai cho ta biết hiện có 16 GB bộ nhớ chưa được sử dụng. Đây là bộ nhớ free trong dòng đầu tiên được cộng thêm phần buffers và cached.

Linux có thói quen lưu trữ nhiều thứ để có hiệu năng nhanh hơn, để bộ nhớ có thể được giải phóng và sử dụng nếu cần. Dòng cuối cùng là swap memory, trong trường hợp này là hoàn toàn free.

2. /proc/meminfo

Cách tiếp theo để kiểm tra việc sử dụng bộ nhớ là đọc /proc/meminfo. Biết rằng hệ thống tệp /proc/meminfo không chứa các tệp thực. Chúng là các tệp ảo chứa thông tin động về kernel và hệ thống.

[root@kblinux ~]# cat /proc/meminfo
MemTotal:       32612696 kB
MemFree:        16763472 kB
MemAvailable:   26466400 kB
Buffers:          723960 kB
Cached:         12176272 kB
SwapCached:            0 kB
Active:          4280896 kB
Inactive:        9948548 kB
Active(anon):    2276268 kB
Inactive(anon):   862104 kB
Active(file):    2004628 kB
Inactive(file):  9086444 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       8191996 kB
SwapFree:        8191996 kB
Dirty:               752 kB
Writeback:             0 kB
AnonPages:       1329348 kB
Mapped:           182896 kB
Shmem:           1809140 kB
Slab:            1293128 kB
SReclaimable:    1083004 kB
SUnreclaim:       210124 kB
KernelStack:        9408 kB
PageTables:        16028 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    24498344 kB
Committed_AS:    7897116 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      340400 kB
VmallocChunk:   34358941692 kB
HardwareCorrupted:     0 kB
AnonHugePages:    143360 kB
CmaTotal:              0 kB
CmaFree:               0 kB
Tcache:                0 kB
Tswap:                 0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      462380 kB
DirectMap2M:    19294208 kB
DirectMap1G:    15728640 kB

Kiểm tra các giá trị của MemTotal, MemFree, Buffers, Cache, SwapTotal, SwapFree.
Chúng chỉ ra các giá trị sử dụng bộ nhớ giống như lệnh miễn phí.

3. vmstat

Lệnh vmstat với tùy chọn s, đưa ra số liệu thống kê sử dụng bộ nhớ giống như lệnh Proc. Đây là một ví dụ

[root@kblinux ~]# vmstat -s
     32612696 K total memory
      1874920 K used memory
      4288088 K active memory
      9950460 K inactive memory
     16750348 K free memory
       725300 K buffer memory
     13262128 K swap cache
      8191996 K total swap
            0 K used swap
      8191996 K free swap
    739151441 non-nice user cpu ticks
     83839687 nice user cpu ticks
    221700980 system cpu ticks
  61570057082 idle cpu ticks
    111352378 IO-wait cpu ticks
            0 IRQ cpu ticks
      5108387 softirq cpu ticks
            0 stolen cpu ticks
  19096194075 pages paged in
  10829849550 pages paged out
            0 pages swapped in
            0 pages swapped out
   3922740008 interrupts
    545636869 CPU context switches
   1558437747 boot time
    100791471 forks

4. top

Lệnh trên thường được sử dụng để kiểm tra bộ nhớ và sử dụng cpu cho mỗi quá trình. Tuy nhiên, nó cũng báo cáo tổng mức sử dụng bộ nhớ và có thể được sử dụng để theo dõi tổng mức sử dụng RAM. Các tiêu đề trên đầu ra có thông tin cần thiết. Bên dưới là một ví dụ về lệnh top

[root@kblinux ~]# top
top - 10:14:20 up 302 days, 15:51,  1 user,  load average: 1.85, 1.36, 1.08
Tasks: 309 total,   3 running, 306 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.7 us,  2.0 sy,  0.1 ni, 92.7 id,  0.5 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem : 32612696 total, 16726932 free,  1885340 used, 14000424 buff/cache
KiB Swap:  8191996 total,  8191996 free,        0 used. 26445772 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                            
21486 mysql     20   0 4718712 482772   6964 S  75.8  1.5   6534:14 mysqld                                                                                                                                             
32208 vietlon+  20   0  493316 136724  52228 S  36.8  0.4   0:55.47 lsphp                                                                                                                                              
23830 memcach+  20   0  397876  68920   1188 S   3.3  0.2 633:42.16 memcached                                                                                                                                          
24643 nobody    20   0  272748  58756  18112 S   2.6  0.2   1:13.22 litespeed                                                                                                                                          
  319 vietlon+  20   0  347872  31908  20800 R   1.7  0.1   0:00.05 lsphp                                                                                                                                              
  330 vietlon+  20   0  347808  29256  19044 R   1.3  0.1   0:00.04 lsphp                                                                                                                                              
12690 vietlon+  20   0  340936  14016  10016 S   0.7  0.0   0:10.63 lsphp                                                                                                                                              
   10 root      20   0       0      0      0 S   0.3  0.0 699:12.23 rcu_sched                 

Kiểm tra các dòng KiB Mem và KiB Swap. Chúng chỉ ra tổng số, phần được sử dụng và phần đang trống của bộ nhớ. Thông tin bộ đệm và bộ đệm cũng có mặt ở đây, giống như lệnh free.

5. htop

Tương tự như lệnh top, lệnh htop cũng hiển thị mức sử dụng bộ nhớ cùng với nhiều chi tiết khác.

Lenh xem ram linux

6. dmidecode

Để tìm hiểu thông tin phần cứng về RAM đã cài đặt, hãy sử dụng lệnh demidecode. Nó báo cáo rất nhiều thông tin về bộ nhớ RAM được cài đặt

[root@kblinux ~]# sudo dmidecode -t 17
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0031, DMI type 17, 34 bytes
Memory Device
	Array Handle: 0x002F
	Error Information Handle: Not Provided
	Total Width: 72 bits
	Data Width: 64 bits
	Size: 8192 MB
	Form Factor: DIMM
	Set: None
	Locator: P1-DIMMA1
	Bank Locator: P0_Node0_Channel0_Dimm0
	Type: DDR3
	Type Detail: Registered (Buffered)
	Speed: 1600 MT/s
	Manufacturer: Samsung            
	Serial Number: 1385B04C     
	Asset Tag: DimmA1_AssetTag
	Part Number: M393B1K70DH0-CK0 
	Rank: 2
	Configured Memory Speed: 1600 MT/s