linux 下查看系统资源和负载,以及性能监控
1,查看磁盘
df -h
2,查看内存大小
free
free [-m|g]按MB,GB显示内存
vmstat
3,查看cpu
cat /proc/cpuinfo
只看cpu数量grep "model name" /proc/cpuinfo | wc -l
4,查看系统内存
cat /proc/meminfo
5,查看每个进程的情况
cat /proc/5346/status 5347是pid
6,查看负载
w
uptime
7,查看系统整体状态
top
最后一些输出信息的解释:
load average: 0.09, 0.05, 0.01
三个数分别代表不同时间段的系统平均负载(一分钟、五 分钟、以及十五分钟),它们的数字当然是越小越好。“有多少核心即为有多少负荷”法则: 在多核处理中,你的系统均值不应该高于处理器核心的总数量
进程使用的内存可以用top,有3个列VIRT RES SHR, 标示了进程使用的内存情况, VIRT标识这个进程可以使用的内存总大小, 包括这个进程真实使用的内存, 映射过的文件, 和别的进程共享的内存等. RES标识这个这个进程真实占用内存的大小. SHR标识可以和别的进程共享的内存和库大小.
8,性能监视sar命令
sar -u输出显示CPU信息。-u选项是sar的默认选项。该输出以百分比显示CPU的使用情况
CPU
CPU编号
%user
在用户模式中运行进程所花的时间
%nice
运行正常进程所花的时间
%system
在内核模式(系统)中运行进程所花的时间
%iowait
没有进程在该CPU上执行时,处理器等待I/O完成的时间
%idle
没有进程在该CPU上执行的时间
sar 5 10 sar以5秒钟间隔取得10个样本
sar -u -p ALL 5 5 分cup显示
sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL }
sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。
sar -n DEV 各参数含义
IFACE
LAN接口
rxpck/s
每秒钟接收的数据包
txpck/s
每秒钟发送的数据包
rxbyt/s
每秒钟接收的字节数
txbyt/s
每秒钟发送的字节数
rxcmp/s
每秒钟接收的压缩数据包
txcmp/s
每秒钟发送的压缩数据包
rxmcst/s
每秒钟接收的多播数据包
9,查看命令历史(含时间戳)
export HISTTIMEFORMAT='%F %T ';history| more
10,查看文件夹和文件大小
du -h --max-depth=0 dm 查看dm目录大小
du -h --max-depth=1 dm 查看dm目录大小,以及dm各文件文件夹的大小
du -h --max-depth=0 查看当前文件夹大小
|
linux 查看当前系统的负载情况
uptime
linux uptime命令主要用于获取主机运行时间和查询linux系统负载等信息。
eg:
# uptime
02:03:50 up 126 days, 12:57, 2 users, load average: 0.08, 0.03, 0.05
10:19:04 up 257 days, 18:56, 12 users, load average: 2.10, 2.10,2.09
显示内容说明:
10:19:04 //系统当前时间
up 257 days, 18:56 //主机已运行时间,时间越大,说明你的机器越稳定。
12 user //用户连接数,是总连接数而不是用户数
load average // 系统平均负载,统计最近1,5,15分钟的系统平均负载
那么什么是系统平均负载呢?
系统平均负载是指在特定时间间隔内运行队列中的平均进程数。
如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。
如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。
如果你的linux主机是1个双核CPU的话,当Load Average 为6的时候说明机器已经被充分使用了。
1可以被认为是最优的负载值。负载是会随着系统不同改变得。
单CPU系统1-3和SMP系统6-10都是可能接受的。
cat /proc/loadavg
# cat /proc/loadavg
0.00 0.01 0.05 2/384 4482
0.00 0.01 0.05 表示最近1分钟,5分钟,15分钟 系统的平均负载; 系统负载越高,代表CPU越繁忙;
2/384 2代表此时运行队列中的进程个数;384 代表系统中进程的总数
4482 代表到此为止创建的最后一个进程的ID.
w
# w
02:14:34 up 126 days, 13:08, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 29Jul16 114days 0.63s 0.30s -bash
ceshi pts/0 118.247.5.122 02:03 0.00s 0.00s 0.00s w
USER:用户名
TTY:录后系统分配的终端号
FROM: 远程主机名(即从哪儿登录来的)
LOGIN@:何时登录
IDLE:空闲了多长时间,表示用户闲置的时间。
JCPU:和该终端(tty)连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所
占用的时间
PCPU:指当前进程(即在WHAT项中显示的进程)所占用的时间
WHAT:当前正在运行进程的命令行
tload
# tload
0.23, 0.32, 0.45
平均负载:0.23, 0.32, 0.45 表示最近1分钟,5分钟,15分钟的系统平均负载.
top
# top
top - 21:23:53 up 40 min, 2 users, load average: 0.19, 0.35, 0.47
Tasks: 255 total, 1 running, 253 sleeping, 0 stopped, 1 zombie
%Cpu(s): 1.1 us, 0.3 sy, 0.0 ni, 98.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 4022756 total, 2130488 used, 1892268 free, 192608 buffers
KiB Swap: 19999740 total, 0 used, 19999740 free. 919724 cached Mem
第一行:时间为:21:23:53; 已经运行了 40min; 当前在线用户:2个; 平均负载:0.19, 0.35, 0.47 表示最近1分钟,5分钟,15分钟的系统平
均负载.
第二行:进程总数:255 正在运行进程数:1 睡眠进程数:253 停止的进程数:0 僵尸进程数:1
第三行:用户空间占用CPU百分比: 1.1% 内核空间占用CPU百分比:0.3% 用户进程空间内改变过优先级的进程占用CPU百分
比:0.0% 空闲CPU百分比:0.0 等待输入输出的CPU时间百分比:0.0 CPU服务软中断所耗费的时间总额:0.0% Steal
Time:0.0%
第四行: 物理内存总量:4022756 使用的物理内存总量:2130488 空闲内存总量:1892268 用作内核缓存的内存量:192608
第五行: 交换区总量:19999740 使用的交换区总量:0 空闲交换区总量:19999740 缓冲的交换区总量:919724
第六行: 进程ID、进程所有者、优先级、nice值,负值表示高优先级,正值表示低优先级、进程使用的虚拟内存总量、进程使用的、未被
换出的物理内存大小、共享内存大小、进程状态、上次更新到现在的CPU时间占用百分比、进程使用的物理内存百分比、进
程使用CPU总时间、命令名、命令行