Linux技術——linux下檢視記憶體和CPU的使用情況

readyao發表於2016-01-22

一、檢視記憶體

1、命令free常用來檢視記憶體的使用情況

輸入:free

輸出:

             total       used       free     shared    buffers     cached
Mem:       3598396    1490744    2107652       6464      87024     722192
-/+ buffers/cache:     681528    2916868
Swap:      2095100          0    2095100
total:實體記憶體的總大小
used:已經使用的大小
free:剩餘的大小
shared:多個程式之間共享的記憶體大小
buffers/cached:磁碟快取的大小
Swap:交換空間的大小和使用情況(當前記憶體還有很多剩餘,沒有用到swap空間)
備註:
第二行的已使用1490744大小是作業系統使用的記憶體大小,其中包括buffers(87024)和cached(722192)。1490744=作業系統使用的記憶體+應用程式使用的記憶體+buffers+cached
第三行的-/+ buffers/cache是從應用程式的角度來看,應用程式可以使用的記憶體大小是2916868,2916868包括磁碟緩衝在記憶體上的空間。因為當應用程式需要記憶體的時候作業系統會將記憶體上磁碟快取的空間回收以供應用程式使用。2916868 = free(2107652) + buffers(87024) + cached(722192)

2、還可以檢視/proc/meminfo檔案中記錄更詳細的記憶體資訊

輸入:cat /proc/meminfo
輸出:

MemTotal:        3598396 kB
MemFree:         2121804 kB
Buffers:           87116 kB
Cached:           722244 kB
SwapCached:            0 kB
Active:           899664 kB
Inactive:         415884 kB
Active(anon):     506916 kB
Inactive(anon):     5732 kB
Active(file):     392748 kB
Inactive(file):   410152 kB
Unevictable:          32 kB
Mlocked:              32 kB
SwapTotal:       2095100 kB
SwapFree:        2095100 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        506216 kB
Mapped:           104192 kB
Shmem:              6464 kB
Slab:              95644 kB
SReclaimable:      76152 kB
SUnreclaim:        19492 kB
KernelStack:        3104 kB
PageTables:        25168 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3894296 kB
Committed_AS:    3188768 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       39156 kB
VmallocChunk:   34359694855 kB
HardwareCorrupted:     0 kB
AnonHugePages:    256000 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       42944 kB
DirectMap2M:     3627008 kB

3、下面是free的一些常見的引數:

Usage:
 free [options]

Options:
 -b, --bytes         show output in bytes
 -k, --kilo          show output in kilobytes
 -m, --mega          show output in megabytes
 -g, --giga          show output in gigabytes
     --tera          show output in terabytes
 -h, --human         show human-readable output
     --si            use powers of 1000 not 1024
 -l, --lohi          show detailed low and high memory statistics
 -o, --old           use old format (without -/+buffers/cache line)
 -t, --total         show total for RAM + swap
 -s N, --seconds N   repeat printing every N seconds
 -c N, --count N     repeat printing N times, then exit

     --help     display this help and exit
 -V, --version  output version information and exit

二、檢視CPU

1、命令1:lscpu 用來檢視簡單cpu資訊(包括大小端資訊)

輸入:lscpu
輸出:

Architecture:          x86_64
CPU 執行模式:    32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
每個核的執行緒數:1
每個座的核數:  1
Socket(s):             1
NUMA 節點:         1
廠商 ID:           GenuineIntel
CPU 系列:          6
型號:              58
步進:              9
CPU MHz:             0.000
BogoMIPS:              6967.29
L1d 快取:          32K
L1d 快取:          32K
L2d 快取:          6144K

2、還可以檢視/proc/cpuinfo檔案中CPU的資訊

輸入:cat /proc/cpuinfo 
輸出:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 58
model name      : Intel(R) Core(TM) i5-3450 CPU @ 3.10GHz
stepping        : 9
microcode       : 0x19
cpu MHz         : 0.000
cache size      : 6144 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl pni monitor ssse3 lahf_lm
bogomips        : 6967.29
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

三、top命令詳解

輸入:top

輸出:


第一行:

15:39:41 當前系統時間
9:05 系統已經執行了9小時5分鐘(在這期間沒有重啟過)
4 users 當前有4個使用者登入系統(每一個終端登陸該系統就相當於是一個使用者)
load average: 0.00, 0.01, 0.05 load average後面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況。
load average資料是每隔5秒鐘檢查一次活躍的程式數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。 

第二行:

Tasks 任務(程式),系統現在共有166個程式,其中處於執行中的有2個,164個在休眠(sleep),stoped狀態的有0個,zombie狀態(殭屍)的有0個。 

第三行:cpu狀態

0.0% us 使用者空間佔用CPU的百分比。
0.0% sy 核心空間佔用CPU的百分比。
0.0% ni 改變過優先順序的程式佔用CPU的百分比
100.0% id 空閒CPU百分比
0.0% wa IO等待佔用CPU的百分比
0.0% hi 硬中斷(Hardware IRQ)佔用CPU的百分比
0.0% si 軟中斷(Software Interrupts)佔用CPU的百分比

第四行:記憶體狀態

3598396k total 實體記憶體總量
1490564k used 使用中的記憶體總量
2107832k free 空閒記憶體總量
87244k buffers 快取的記憶體量

第五行:swap交換分割槽

2095100k total 交換區總量
0k used 使用的交換區總量
2095100k free 空閒交換區總量
722252k cached 緩衝的交換區總量


參考:

http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html


相關文章