系统资源的查看:free,uname,uptime,netstat,dmesg,vmstat
free:查看内存使用情况
#free [-b|-k|-m|-g] [-t]
-b:直接输入free时,显示的单位是KB,我们可以用b(bytes),m(MB),k(KB),g(GB)来显示
-t:在输出的最终结果中显示物理内存与swap总量
例子:显示目前系统的内存总量
#free -m
uname:查看系统与内核相关信息
#uname [-asrmpi]
-a:所有系统相关的信息,包括下面的数据都会被列出来
-s:系统内核名称
-r:内核的版本
-m:本系统的硬件名称,例如i686或x86_64
-p:CPU的类型,与-m 类似,只是显示的是CPU的类型
-i:硬件的平台
uptime:查看系统启动时间与工作负载
#uptime
netstat:跟踪网络
#netstat [-atunlp]
-a:将目前系统上面所有的连接、监听、Socket数据都列出来
-t:列出tcp网络数据包的数据
-u:列出udp网络数据包的数据
-n:不列出进程的服务名称,以端口号来显示
-l:列出目前正在网络监听的服务
-p:列出该网络服务的进程PID
Active Internet ... 是与网络比较相关的部分
Active UNIX ... 是与本机的进程自己相关的
网络部分:
Proto:网络数据包协议
Recv-Q:不是由用户进程连接到此socket的复制的字节总数;
Send-Q:不是由远程主机传送过来的acknowledged总字节数;
LocalAddress:本地IP端口情况;
ForeignAddress:远程主机的IP端口情况
State:连接状态,主要有建立(ESTABLISHED)及监听(LISTEN)。
系统部分:
Proto:一般就是unix
RefCnt:连接到此socket的数量
Flags:连接的标识
Type:socket访问的类型。主要有确认连接的STREAM与不需要确认的DGRAM两种
State:若为CONNECTED表示多个进程之间已经建立连接
Path:连接到此socket的相关程序的路径,或者是相关数据输出的路径
例子:找出目前系统上已在监听的网络连接及其PID。
dmesg:分析内核产生的信息
系统在开机的时候,内核会去检测系统的硬件,你的那些硬件到底有没有被识别出来,就与这个时候的检测有关。我们用dmesg拿出来看看检测时记录下的信息。
1.输出所有的内核开机时候的信息
#dmesg |more
2.查找开机时候硬盘的相关信息
#dmesg |grep -i hd
vmstat:检测系统的资源变化
#vmstat [-a] [延迟 [总计检测次数]] ==>CPU/内存等信息
#vmstat [-fs] ==>内存相关
#vmstat [-S 单位] ==>设置显示数据的单位
#vmstat [-d] ==>与磁盘有关
#vmstat [-p 分区] ==>与磁盘有关
-a:使用活跃与否(inactive/active)代替buffer/cache的内存输出信息
-f:开机到目前为止系统复制(fork)的进程数
-s:将一些事件(开机到目前为止)导致的内存变化情况列表说明
-S:后面可以接单位,让现实的数据有单位。例如K/M代替bytes。
-d:列出磁盘的读写总量统计表
-p:后面列出分区,可显示该分区的读写总量统计表
例子:统计目前主机CPU状态,每秒一次,共三次。
内存字段(procs)
r:等待运行中的进程数量
b:不可被唤醒的进程数量
这两个选项阅读,代表系统越繁忙
内存字段(memory)
swpd:虚拟内存被使用的容量
free:未被使用的内存容量
buff:用于缓冲存储器
cache:用于高速缓存
内存交换空间(swap)
si:由磁盘中将程序取出的量
so:由于内存不足而将没用到的程序写入到磁盘的swap的容量
如果这两个数值很大,代表系统性能很差
磁盘读写(io)
bi:由磁盘写入的数据块
bo:写入到磁盘区的数据块
数值越高,代表I/O很繁忙
系统(system)
in:每秒被中断的进程次数
cs:每秒中进行的时间切换次数
数值越大,代表系统与接口设备的通信十分繁忙。设备包括磁盘、网卡、时钟等。
CPU选项
us:非内核层的CPU使用状态
sy:内核层所使用的CPU状态
id:闲置的状态
wa:等待I/O所耗费的CPU状态
st:被虚拟机所盗用的CPU使用状态
例子:系统上面所有的磁盘的读写状态
阅读(818) | 评论(0) | 转发(0) |