首页 > 代码库 > 系统资源查看
系统资源查看
系统资源查看
free
物理内存与虚拟内存的使用情况
free [-b|-k|-m|-g] [-t]
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。
-h 以易读方式显示内存使用情况
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。
物理内存使用
A 应用程序使用的
B 未分配的
C buffer
D cache
例
uname
查看系统与内核的相关信息
uname [-asrmpi]
a 所有系统相关的信息,以下的所有都会被列出来
s 系统内核名称
r 内核版本
m 本系统的硬件名称
p CPU的类型
i 硬件的平台
dmesg
查看内核产生的信息
例
dmesg | grep -i hd
vmstat
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。
缺点:无法对某个进程深入分析
vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]
-a: 显示活跃和非活跃内存
-f: 显示从系统启动至今的fork数量 。
-m: 显示slabinfo
-n: 只在开始时显示一次各字段名称。
-s: 显示内存相关统计信息及多种系统活动数量。
delay: 刷新时间间隔。如果不指定,只显示一条结果。
count: 刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
-d: 显示磁盘相关统计信息。
-p: 显示指定磁盘分区统计信息
-S: 使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
-V: 显示vmstat版本信息。
例
分析
进程
r 经常大于当前物理CPU数,说明需要增加CPU
内存与SWAP
swpd很高,si,so一直很低 内存够用
buff 被用来做为缓存的内存数,一般对块设备的读写才需要缓冲
cache 表示page cached的内存数量,一般作为文件系统cached,频繁访问的文件都会被cached,如果cache值较大,说明cached的文件数较多,如果此时IO中bi比较小,说明文件系统效率比较好
system的in与cs
两者越高 说明内核态占用CPU越高
IO
bi,bo高 系统IO忙碌
CPU
us高 优化算法
sy高 定位原因
其他:
如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。
如果si,so 长期不等于0,表示内存不足。
如果disk 经常不等于0, 且在 b中的队列大于3, 表示 io性能不好
/proc/*
/proc/cmdline 加载kernel时所下达的相关参数。可了解系统如何启动
/proc/cpuinfo 本机CPU相关信息
/proc/devices 系统各个主要装置的代号
/proc/filesystems 系统上已经加载的文件系统
/proc/interrupts 系统上面的IRQ分配状态
/proc/ioports 系统上面各个装置的IO地址
/proc/kcore 内存的大小,不要读!!
/proc/loadavg 系统负载--top
/proc/meminfo 内存信息--free
/proc/modules 目前linux已经加载的模块列表
/proc/mounts 系统已经加载的数据
/proc/swaps 系统加载的内存
/proc/partitions 所有的分区--fdisk -l
/proc/pci PCI总线上面的设备情况
/proc/uptime 使用uptime出现的信息(系统负载)
/proc/version 内核版本,uname -a
/proc/bus/* 一些总线的设备,还有USB的设备
系统资源查看