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分钟 查 ...
随机推荐
- iis服务器php环境 failed to open stream: No such file or directory解决办法
项目主机用的windows系统,iis服务器:远程连接桌面—>本地资源->映射D盘驱动器,将本地d盘修改后的文件放在远程主机项目目录里,访问报出failed to open stream: ...
- Oracle记录类型(record)和%rowtype
Oracle中的记录类型(record)和使用%rowtype定义的数据类型都是一种单行多列的数据结构,可以理解为一个具有多个属性的对象.其中属性名即为列名. 记录类型(record) 记录类型是一种 ...
- js的垃圾回收机制
Js具有自动垃圾回收机制.垃圾收集器会按照固定的时间间隔周期性的执行. JS中最常见的垃圾回收方式是标记清除. 工作原理:是当变量进入环境时,将这个变量标记为“进入环境”.当变量离开环境时,则将其标记 ...
- 解决 LLVM 错误 fatal error: ‘csignal’ file not found
/Users/exchen/Downloads/Unity-iPhone/Classes/main.mm:3:10: fatal error: ‘csignal’ file not found#inc ...
- font(字体)所使用的属性
1.font-weight:normal blod bolder lighter 100-900之间 400=normal p:first-child{ padding-top: 50px; pos ...
- mysql8.0新增用户及密码加密规则修改
MySQL8.0已经发布GA版,当前最新GA版本为8.0.12.虽然相对于之前版本,MySQL8.0没有加入新元素,但是,经过代码重构,MySQL8.0的优化器更加强大,同时也有一些新特性,如支持索引 ...
- day 19 反射
1.isinstance, type, issubclass 的含义 isinstance: 判断你给对象时候是xxx类型的.(向上判断) type: 返回xxx对象的数据类型 issubclass ...
- Linux内核调用I2C驱动_驱动嵌套驱动方法
禁止转载!!!! Linux内核调用I2C驱动_以MPU6050为例 0. 导语 最近一段时间都在恶补数据结构和C++,加上导师的事情比较多,Linux内核驱动的学习进程总是被阻碍.不过,十一假期终于 ...
- flask的查询,一对多,多对多
模型的关联: 一对多 class Role(db.Model): us = db.relationship('User',backref='role',lazy='dynamic') class Us ...
- ruby做接口测试
一. 工具选择 IDE:rubymine:http接口请求:Unirest,ruby单元测试框架:rspec 二.工程创建 新建工程,在工程目录下,执行:rspec --init:初始化rspec工程 ...