Linux系统负载查询
查询Linux系统负载情况,一般需要了解三个方面的信息:
1、Linux系统配置。如Linux版本号、CPU、内存、网络、磁盘等;
2、收集系统负载信息的手段。常用的工具包有sysstat和procps等。
3、查询结果分析。通过工具包获取系统负载信息,要具体分析系统是否负载、某项指标参数是否超标、系统的瓶颈集中哪几项等。
一、查询Linux系统配置
查询CPU配置:
- lscpu命令
获取CPU架构、是否支持超线程、主频、缓存信息等。当然更详细的信息存储在/proc/cpuinfo文件。
查询内存配置
- free命令
free命令在man文档中的介绍为"Display amount of free and used memory in the system.",free -g 表示用GB显示内存信息,free -m表示用MB显示内存信息。
回显结果中"Mem: "行表示从OS层面看内存使用情况。"-/+ buffers/cache: "表示从应用程序角度看内存使用情况。
其中(- buffers/cache) used内存数=[Mem:] used - buffers - cached,反映的是被程序实实在在吃掉消耗的内存;
(+ buffers/cache) free内存数=[Mem:] free + buffers + cached,反映的是系统中还可以被挪用的内存;
buffer: A buffer is something that has yet to be "written" to disk.
cache: A cache is something that has been "read" from the disk and stored for later use.
二、查询系统负载
系统平均负载即在特定时间间隔内运行队列中的平均进程数。如果一个进程满足如下条件就会加入到运行队列中,
1 它没有在等待I/O操作的结果;
2 它没有主动进入等待状态;
3 没有被停止,包含等待终止。
常用查询命令:
| command | descriptions |
| uptime | tell how long the system has been running. |
| top | display Linux tasks. |
| iostat | report central processing unit(cpu) statistics and input/output statistics for device, partitions and network filesystems(NFS). |
| vmstat | report virtual memory statistics. |
sysstat软件包:包含监测系统性能及效率的一组工具。
1、cifsiostat用于输出cifs文件系统的读写操作信息。
2、iostat用于输出CPU、I/O系统和磁盘分区的统计信息,可以用来分析磁盘I/O、带宽等信息。
3、mpstat用于输出CPU的各种统计信息,可以用于分析程序运行在内核态和用户态的工作情况。
4、pidstat用于监控被Linux内核管理的单个任务。
5、sadf用于格式化输出sar的输出数据。
6、sar用于定时收集系统的各种状态信息,然后可以对系统各个时间点的状态进行监控。
procps软件包:包含一组提供系统信息的实用程序。
1、ps用于查看某一时刻的进程。
2、sysctl用于在运行时配置内核参数。
3、free用于查询内存和swap信息。
4、pgrep,pkill用于通过名称和其他属性查找或者发送信号给进程。
5、pmap用于显示一个或者多个进程所使用的内存数量。
6、pwdx用于显示一个进程的工作目录。
7、skill、snice被废弃的命令,由killall、pkill、pgrep替代。
8、slabtop用于实时显示系统的内核缓存信息。
9、tload使用图形显示系统的平均负载。
10、top用于动态显示进程信息。
11、uptime用于显示系统运行时间和最近1min、5min和10min内的平均负载。
12、vmstat用于显示processes、memory、paging、block IO、tps、and cpu使用信息,
13、w显示登录的账户和他们活动情况。
14、watch定时执行程序,并全屏显示。
当然还有更多的第三方工具包用于监控Linux系统运行和性能情况,比如atop、htop、iotop等。
查询当前进程中所有的线程:
top命令
top -Hp <pid>
/proc/<pid>文件
cat /proc/<pid>/status
ls /proc/<pid>/task/ | wc -l
ps命令
ps hHp <pid> | wc -l
ps -T -p <pid>
三、结果分析
对于通过Linux命令和工具收集到的数据需要理解每个字段的含义 ,用于分析当前系统的负载情况,比如,内存占用过高、CPU繁忙、IO等待时间过长等。
Linux系统负载查询的更多相关文章
- Linux 系统负载查询及分析说明
Linux 系统出现死机或卡顿时,可以参阅如下步骤进行整体排查: 检查服务器进程与服务否占用了过多内存,或者内存没有正常释放,导致出现内存溢出,系统宕机. 检查 /var/spool/cron 等系统 ...
- Linux系统负载排查
参考 http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html 在Linux系统中,我们一般使用uptime命 ...
- linux 系统负载高 如何检查
1:load Average 1.1:什么是Load?什么是Load Average? Load 就是对计算机干活多少的度量(WikiPedia:the system Load is a mea ...
- linux中uptime命令查看linux系统负载
阅读目录 uptime cat /proc/loadavg 何为系统负载呢? 进阶参考 uptime 另外还有一个参数 -V(大写),是用来查询版本的 [appdeploy@CNSZ22PL0088: ...
- uptime命令查看系统启动时间和运行时间、查看linux系统负载
1.uptime命令输出:16:11:40 up 59 days, 4:21, 2 users, load average: 0.00, 0.01, 0.00 2.查看/proc/uptime文件计算 ...
- linux uptime-查看Linux系统负载信息
更多linux 性能监测与优化 关注:linux命令大全 uptime命令能够打印系统总共运行了多长时间和系统的平均负载.uptime命令可以显示的信息显示依次为:现在时间.系统已经运行了多长时间.目 ...
- 在windows系统和linux系统中查询IP地址命令的不同
在linux和windows系统上查询IP地址的命令是不一样的. 在linux中的命令行模式下,输入ifconfig即可查询到IP.而在windows系统下要查询IP地址需要先打开do ...
- 监测linux系统负载与CPU、内存、硬盘、用户数的shell脚本
本节主要内容: 利用Shell脚本来监控Linux系统的负载.CPU.内存.硬盘.用户登录数. 一.linux系统告警邮件脚本 # vim /scripts/sys-warning.sh #!/bin ...
- linux系统负载
系统负载System Load:系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度 平均负载(Load Average):一段时间内系统的平均负载,这个一段时间一般取1分钟.5分钟.15分钟 查 ...
随机推荐
- mysql获取正在运行的sql
select id,db,host,time,info,command from information_schema.processlist where command<>'sleep' ...
- Android 发版的小工具
Android加固包签名 我们知道自己的apk在上传市场的时候, 为了更好的包含我们的代码需要加固服务, 加固后的apk是不能直接安装的, 需要我们手动签名. 关于Android签名的知识就不在赘述了 ...
- Swift_方法
Swift_方法 点击查看源码 ///方法 class Methods: NSObject { func test() { // self.testInstanceMethods() //实例方法 s ...
- 20181030NOIP模拟赛T3
2017种树 2017共有N棵树从0到N-1标号.现要把这些树种在一条直线上,第i棵树的种植位置X[i]如下确定: X[0] = X[0] MOD L: X[i] = (X[i-1]*A+B) MOD ...
- MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题
参考博客:https://blog.csdn.net/WinstonLau/article/details/78666423 我的系统和软件版本是这样的: 系统环境:win7.64位 MySQL版本: ...
- The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.报该错误的一种原因。
今天发现某个action返回404. HTTP Status 404 – Not Found Type Status Report Message /xxx.action Description Th ...
- 安装psutil时提示缺少python.h头文件(作记录)
通过pip或者源码安装psutil,都会提示缺少python.h头文件,错误提示如下: ... psutil/_psutil_common.c:9:20: fatal error: Python.h: ...
- SQL注入的浅尝辄止
简单的说,SQL注入就是通过在前端页面输入SQL语句,导致系统暴露异常信息在前端页面显示,非法者通过这些异常信息获取数据库的相干信息,为攻击系统做准备.
- redis之闪电内幕
一.简介和应用 二.Redis的对象redisObject 三.String 四.List 4.1 linkedlist(双端链表) 4.2 ziplist(压缩列表) 五.Hash 六.Set 七. ...
- PHP在foreach中对$value赋值
foreach ($data as $key => $value) { $data[$key]['name'] = '测试在value中赋值';}