Linux系统负载查询

摘要:
查询Linux系统负载情况,一般需要了解三个方面的信息:1、Linux系统配置。如Linux版本号、CPU、内存、网络、磁盘等;2、收集系统负载信息的手段。当然还有更多的第三方工具包用于监控Linux系统运行和性能情况,比如atop、htop、iotop等。

查询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 没有被停止,包含等待终止。

常用查询命令:

commanddescriptions
uptimetell how long the system has been running.
topdisplay Linux tasks.
iostatreport central processing unit(cpu) statistics and input/output statistics for device, partitions and network filesystems(NFS).
vmstatreport 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系统负载查询》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇kafka学习笔记02-kafka消息存储根据身份证号,取得行政区划的Javascript实现下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

c语言获取linux的CPU、内存、IO、磁盘、网速(本机编译通过)

代码: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #define MAXBUFSIZE 1024 #define WAIT...

如何检查linux是否安装了php

方法一、在终端通过php -v命令来查看一下当前php的版本。如果没有安装php,一般会提示没有php这个命令的。 2 方法二、在终端查询安装的包中是否有php,以redhat为例,则可以执行如下命令: rpm -qa | grep php 如下图所示,就说明安装了php。 3 方法三、可以使用pear命令的list参数查看安...

Linux下常用小工具、命令行

查看CPU信息 CPU全部信息:cat /proc/cpuinfo支持的指令集:cat /proc/cpuinfo | grep flags 运行状态监视 indicator-sysmonitor:可以监视CPU、内存占用率;网速;电池电量;IP;硬盘剩余大小。可以显示在状态栏,很方便。安装方法: sudo add-apt-repository pp...

Linux系统启动U盘制作工具

1、UNetbootin UNetbootin 让你创建 Ubuntu 或者其他 Linux 发行版的可引导 Live U 盘,而无需烧录 CD。 你既能让 UNetbootin 为你下载众多开箱即用的发行版,或者提供你自己的 Linux 的 .iso 文件。支持Linux和windows系统,官网有安装方法。   官方网址:https://unetbo...

Linux抓包工具tcpdump详解

原文链接 tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需...

Linux装agent

 解压Linux.zip  Linux的负载机链接:https://pan.baidu.com/s/1yrmsT3PYfuL9Wlh4FEYxaA 密码:s72n unzip Linux.zip chmod 777 -R Linux/ cd Linux sh installer.sh 按提示依次输入如下:输入'n' 输入'a' 输入'n' 输入'i' 输入...