linux系统性能监控常用命令
一、Linux服务器性能关注点
1)CPU
-> load:表示cpu在一段时间内正在处理以及等待处理的任务之和统计信息,简单可理解为cpu正处理的线程数和能同时处理的线程数的比值。一般认为load值的安全上限为cpu的个数
-> run queue:表示cpu维护的线程运行队列。在多核系统中,每个cpu都将维护这么一个队列,其长度值越大表明cpu负载越高,load指标便基于此统计而来
-> utilization:cpu使用率,由如下部分组成。后面一般是cpu被充分利用的比值分布
user 60%~70%
system 30%~35%
idle 0%~5%
io wait 接近0%
->context switches:当可运行的线程数大于cpu资源时,系统为会强行换出正在执行的线程以保证其他线程得到运行的机会。对于被换出的线程,系统会保留其运行时上下文,以便在下次调度时恢复执行。
->nice:在用户空间内,通过nice或setpriority调用改变过优先级进程的cpu占用率。在同等情况下,优先级高(值越小)的进程会比优先级低的得到优先调度。nice不为0,表明发生了低优先级进程抢占高优先级进程的情况
2)Memory
->buffer:针对IO读写设计而言的缓冲区,主要目的是保证不同外设之间的进程数据同步
->cache:把已读取的数据缓存起来,当下次需要同样的数据直接从缓存中获取(命中),以提高访问速度
->swap:对物理内存的扩展
3)IO
->R/W:读/写流量
->rtps/wtps:每秒请求IO读/写的事务数
4)Network
->in/out网络流量大小
->tcp/udp/sock/httpd的连接数
二、linux常用命令
1) 查看服务器基本配置
cat /proc/cpuinfo 察看cpu信息
grep processor /proc/cpuinfo | wc -l
统计cpu个数
cat /proc/meminfo
察看memory信息
uname -a
系统基本信息
w
或者 who
察看用户登录
sar
系统报告命令
常用参数 -q
: cpu load
-u
: cpu utilization
-r
: memory
-b
: io
-n
: network
sar -q 1 5
察看cpu的load状况,每1s钟统计1次,共统计5次
从上图中可以看出,load较低,5个cpu有3个runqsz为0,说明系统负载不高
sar -u 2 3
察看cpu使用率,每2s统计1次,共统计3次
cpu的idle占比达到了90%+,也说明系统很闲
sar -r
察看当日内存占用情况(默认每10分钟统计一次)
8G物理内存中,使用率达到90%以上,其中buffer有100m+,cache3G+(大量本地缓存造成),swap空间共有2G,基本没用
sar -b
察看当日IO使用情况
系统不断刷新日志文件,IO反映出以write为主
sar -n SOCK
察看网络sock连接
sar -n DEV
察看网络流量
sar -u -f /var/log/sa/sa21
对历史数据察看,对比分析系统问题(sa21表明是本月21号的数据)
vmstat
实时性能监控
top
显示服务器任务
常用参数 H
:切换到显示所有线程
1
:显示各个cpu运行情况(类似的命令还有mpstat
)
ps -ef
或 ps -aux
都是显示所有进程,区别在于不同的显示风格
ps -eLf | grep java | wc -l
统计java线程数
将java换成httpd可统计apache线程数
find、df、
du、iostat
磁盘IO命令
find /home/admin/ -name "hsf.log"
在/home/admin/路径下查找名为hsf.log的文件
df -ha
察看文件系统的磁盘占用情况
du -ak | sort -t$'\t' -l1 -nr -k2 -r
对当前目前下所有文件按文件大小倒排序,大小相同按文件名字母倒排序
iostat -x -d
磁盘IO流量实时统计
ipconfig、ping、netstat
网络监控命令
netstat -ano | grep 8787
察看8787端口的连接情况
在windows下可以借助ip,通过nbtstat命令反查连接机器信息,这在排查团队成员谁远程debug服务器占用连接资源很有帮助
另外,对于不太熟悉的命令可以使用man
查看,进一步对于某命令的参数不理解,可以对该命令使用-h
来查看如何使用
linux系统性能监控常用命令的更多相关文章
- Linux 系统监控常用命令
简介 列举操作系统级监控常用的几个方法,建议收藏使用 CPU top 命令可用于监控系统整体负载,包括cpu.内存使用等,能够实时显示系统中各个进程的资源占用状况 输出样例 top - 19:37:4 ...
- linux性能监控常用命令
概述 我们在linux下,如果想要监控服务器性能.我们必须掌握以下常用的指标查看命令. ps pstree top free vmstat sar ps ps命令能给出当前系统中进程的快照.下面我们列 ...
- Linux 系统性能监控命令详解
Linux 系统性能监控命令详解 CPU MEMORY IO NETWORK LINUX进程内存占用查看方法 系统负载过重时往往会引起其它子系统的问题,比如:->大量的读入内存的IO请求(pag ...
- Linux系统性能10条命令监控
Linux系统性能10条命令监控 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 p ...
- linux系统监控常用工具
linux系统监控常用工具 一.系统核心工具包(coreutils) 1./bin/df 报告系统的磁盘空间用量 df -h 显示磁盘分区fdisk -l 2./bin/uname 显示系统信息 u ...
- linux系统监控sar命令
linux系统监控sar命令详解 sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告, 包 ...
- Linux查看系统配置常用命令
Linux查看系统配置常用命令: 系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo ...
- linux vi编辑常用命令
linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下 vi编辑器中有三种状态模式 1. ...
- Linux 系统巡检常用命令
Linux系统巡检常用命令 # uname -a # 查看内核/操作系统# cat /etc/centos-release # 查看centos操作系统版本# cat /proc/cpuinfo ...
随机推荐
- Manacher 算法
Manacher算法用于求回文子串,它的复杂度为O(n). 这个算法有一个很巧妙的地方,它把奇数的回文串和偶数的回文串统一起来考虑了.在相邻的两个字符之间加进一个分隔符 '#' ,串的首尾也要加. 原 ...
- Linux学习之telnet命令
telnet命令通常用来远程登录,telnet程序是基于TELNET协议的远程登录客户端程序,Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式,它为用户 ...
- [剖析Javascript原理]1.原生数据类型
一.原生数据类型 JS共有5种原生数据类型: Boolean true或者false String 字符串,在单引号或者双引号之间(不存在字符类型) Number 整数或者浮点数 Null 空 und ...
- sass教程
sass教程 1. 使用变量; sass让人们受益的一个重要特性就是它为css引入了变量.你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值.或者,对于仅使 ...
- [转]struct 用法深入探索
struct用法深入探索 作者: Cloudward 1. struct的巨大作用 面对一个人的大型C/C++程序时,只看其对struct的使用情况我们就可以对其编写者的编程经验进行评估.因为一个大型 ...
- Delphi通过IE窗口句柄获取网页接口(IWebBrowser2) good
主要用到的是MSAA(Microsoft Active Accessibility) 函数:ObjectFromLResult,该函数在动态链接库 oleacc.dll 中定义. uses SHDoc ...
- java学习之三种常用设计模式
一.适配器设计模式 简单来说,就是通过一个间接类来选择性的来覆写一个接口 interface Window{ public void open() ; // 打开窗口 public void clos ...
- Saiku国际化总结
国际化步骤: 1.在mondrian.properties同路径下加上locale_zh_CN.properties资源文件,内容例如:schema.name.K12UserAnalysis=K12用 ...
- SSH整合方案2
[案例3]SSH整合_方案2 ** 案例描述 两个知识点的演示 其一,SSH整合的第二个方案 其二,Spring+JDBC+Struts2 参考代码 31) 使用工程spring4 32 ...
- docker private registry使用
一.搭建harbor: 步骤:略 二.命令行操作: 登录:docker login docker01 tag image: tag 一个 image,名称一定要标准( registryAddress[ ...