您的位置:首页 > 运维架构 > Linux

Linux技术——linux下查看内存和CPU的使用情况

2016-01-22 15:56 786 查看

一、查看内存

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: