linux 系统资源命令

news2024/11/20 18:25:50

系统资源命令

当前系统负载

w查看的是整体的负载,可以来观察当前系统有没有压力

w
系统当前负载
系统当前负载

第一行显示的内容依次为:时间、系统运行时间、登录用户数、平均负载(1分钟、5分钟、15分钟)

第二行后展示的信息为:当前登录的都有哪些用户、在哪里登录的等信息

平均负载不要高于设备核心数

系统资源查看

vmstat命令

使用vmstat命令可以更加细化w命令,来查看具体是哪里的压力

显示内存、分页、块传输和CPU活动的相关信息,评估cpu性能

#vmstat [刷新延时 刷新次数]
# 使用vmstat检测,每1秒刷新一次,一共刷新3次
vmstat 1 3
vmstat命令结果
vmstat命令结果

结果信息

procs 进程

  • r 等待cpu时间片和运行的进程数,数量越大,系统越繁忙,如果长期大于服务器cpu,则说明cpu不够用了
  • b 等待资源的进程数,如等待IO、内存等,数量越大,系统越繁忙,如果该值长时间大于1,需要关注一下

memory 内存

  • swpd 切换到交换分区的内存大小,单位kb,如果swpd的值不为0,或者比较大,只要si和so的值长期为0就不用担心
  • free 空闲的内存容量,单位kb
  • buff buffers cache的内存容量,即将写入磁盘的,单位kb,一般对块设备的读写才需要缓冲
  • cache page cached的内存容量,从磁盘中读取的,单位kb,一般作为文件系统进行缓存,频繁访问的文件都会被缓存。如果cache值比较大,说明缓存的文件数较多,如果此时io中的bi比较小,说明文件系统效率比较好

swap 交换分区,这两个数越大,说明内存不够用了,内存中的数据频繁交换到交换分区中,对系统性能影响极大

  • si 每秒从内存进入交换区的数据的容量
  • so 每秒从交换区进入内存的数量

**io ** 磁盘IO,这两个数越大,代表磁盘IO越繁忙。如果bi+bo超过1000,而且wa值较大,表示系统磁盘IO有问题

  • bi 从块设备读取数据的总量,读磁盘 kb/s
  • bo 从块设备写入数据的总量,写磁盘 kb/s

system 系统信息,显示采集间隔内发生的中断次数,这两个数越大,表示系统与接口设备的通信越繁忙,由内核消耗的CPU时间越多

  • in 某一时间间隔内观测到的每秒被中断的进程次数
  • cs 每秒进行事件切换次数(上下文切换的次数)

cpu CPU信息,如果us+sy大于80%,说明可能存在cpu资源不足

  • us 用户进程消耗CPU运算时间的百分比,如果长期大于50%,需要考虑优化程序
  • sy 内核进程消耗CPU运算时间的百分比
  • id 空闲CPU的时间百分比
  • wa 等待IO所消耗的CPU时间百分比。wa值越高,说明IO等待越严重。如果wa超过20%,说明IO等待严重,引起IO等待的原因可能是磁盘大量随机读写造成的,也可能是磁盘或磁盘控制器的带宽瓶颈造成的
  • st 被虚拟机所盗用的CPU占比

iostat命令

显示平均磁盘活动和处理器负载情况

#iostat [刷新延时 刷新次数]
# 使用iostat检测,每1秒刷新一次,一共刷新3次
iostat 1 3

选项
-d  查看磁盘使用情况
-k  以KB为单位显示
-c  显示CPU使用情况
-t  打印出统计信息开始执行是啊金
-x device 指定要统计的磁盘设备名称
iostat命令结果
iostat命令结果

%user 在用户级别执行

%nice 以nice优先方式在用户级别执行

%system 在系统级别执行(内核进程)

%iowait 等待IO

%steal 等待虚拟进程

%idle 空闲时间

tps 每秒处理的IO请求数,kB_read/s每秒从设备读取的数据量, kB_wrtn/s每秒向设备写入的数据量, kB_read读取的数据总量, kB_wrtn写入的数据总量

ifstat命令

网络io

ifstat

iftop命令

iftop -ieth1 -nP

-i设定监测的网卡,如:# iftop -i ens33
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n使host信息默认直接都显示IP,如:# iftop -n
-N使端口信息默认直接都显示端口号,如: # iftop -N
-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),帮助,显示参数信息
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

进入iftop页面后还可以对页面进行调整,参数如下

按h切换是否显示帮助; 按n切换显示本机的IP或主机名; 按s切换是否显示本机的host信息; 按d切换是否显示远端目标主机的host信息; 按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量; 按N切换显示端口号或端口服务名称; 按S切换是否显示本机的端口信息; 按D切换是否显示远端目标主机的端口信息;

按p切换是否显示端口信息; 按P切换暂停/继续显示; 按b切换是否显示平均流量图形条; 按B切换计算2秒或10秒或40秒内的平均流量; 按T切换是否显示每个连接的总流量; 按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息; 按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化; 按j或按k可以向上或向下滚动屏幕显示的连接记录; 按1或2或3可以根据右侧显示的三列流量数据进行排序; 按<根据左边的本机名或IP排序; 按>根据远端目标主机的主机名或IP排序; 按o切换是否固定只显示当前的连接; 按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个! 按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢! 按q退出监控

pidstat

pidstat是一个多功能的诊断工具

# 可以监控cpu
# -p 指定进程id 每秒钟采样一次,一共采样三次 -u表示对cpu使用率的监控 -t 参数将监控细化到线程级别
pidstat -p 25555 1 3 -u -t

#
 也可以监控io
# -p 指定进程id 每秒钟采样一次,一共采样三次 -d表示对io的监控 -t 参数将监控细化到线程级别
pidstat -p 25555 1 3 -d -t 

#
 也可以内存
# -p 指定进程id 每秒钟采样一次,一共采样三次 -r表示对内存的监控 -t 参数将监控细化到线程级别
pidstat -p 25555 1 3 -r -t 

free命令

显示内存使用率

free

选项
-m 表示以MB为单位显示
-s  每隔几秒更新一次显示
free命令结果
free命令结果

使用 free -h 可以展示为使用K或M或G为单位

第一行是内存信息:total表示总内存数,used表示已经使用的,free表示空闲的,shared表示多个进程共享的,buffers表示缓冲内存数,cached表示缓存内存数

第二行是缓冲缓存信息:-/buffers/cache(正在使用的) 相当于 used-buffers-cached,+/buffers/cache(可用的内存) 相当于 free+buffers+cached

如何回收buff/cache

echo 1 > /proc/sys/vm/drop_caches # 仅清除页面缓存 echo 2 > /proc/sys/vm/drop_caches # 清除目录项和inode echo 3 > /proc/sys/vm/drop_caches # 清除页面缓存、目录项以及inode 第三行是分区信息:total是swap的总数,used是已经使用的,free是空闲的,当上面提到的+buffers/cache表示的可用内存都已使用完,新的读写请求过来后,会把内存中的部分数据写入磁盘,从而把磁盘的部分空间当做虚拟内存来使用

如果swap内存使用过多,则说明物理内存已经不够用了,操作系统将本应该物理内存存储的一部分内存页调度到磁盘上,以腾出足够的空间给当前的进程使用。当其他进程需要运行时,在从磁盘将内存的页调度到物理内存中,以恢复进程的运行。这个调度的过程,则会产生swap IO,如果swap IO较为频繁,会影响系统的性能,可以使用vmstat来查看swap IO的情况

可以配合vmstat来观察swap的IO情况

查看CPU/内存信息

在/proc文件夹中有cpuinfo和meminfo可以查看CPU和内存信息

uptime命令

显示系统运行了多长时间

uptime
# 系统当前时间、系统运行了多长时间、有多少用户正在使用该系统、系统每隔1分钟、5分钟、15分钟的平均负载
# 16:49:00 up 13 days, 23:15,  2 users,  load average: 0.01, 0.04, 0.04

sar命令

显示系统活动报告,可以全面获取系统的CPU、运行队列、磁盘IO、分页、内存、CPU中断、网络等性能数据

查看网络运行状态

# sar [options] [-o filename] [interval] [count]
# -n表示汇报网络状况
# DEV表示查看各个网卡的网络流量
# 第一个1表示每一秒抽样一次,第二个1表示总共抽取1次
sar -n DEV 1 1
Linux 3.10.0-1160.59.1.el7.x86_64       10/28/2022      _x86_64_    (2 CPU)

11:51:57 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11:51:58 AM      eth0     41.00     43.00      6.95      7.87      0.00      0.00      0.00
11:51:58 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:         eth0     41.00     43.00      6.95      7.87      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

#
 lo表示本地回环网络,eth0表示网卡     rxpck/s表示每秒接收数据包数量   txpck/s表示每秒发出数据包数量    rxkB/s表示每秒接收的字节数    txkB/s表示每秒发出的字节数   rxcmp/s表示每秒收到的压缩包数量   txcmp/s表示每秒发出的压缩包数量 rxmcst/s表示每秒收到的广播包数量

这里要注意一下,如果rxpck/s数值大于4000,或者rxkB/s大于5000的时候,需要观察一下是否有异常,流量有些高

也可以查看某一天的网卡流量

# sa21是文件名
sar -n DEV -f /var/log/sa/sa21

查看平均负载

sar -q 10 3

03:57:28 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
03:57:38 PM         0      1082      0.06      0.13      0.27         0
03:57:48 PM         1      1082      0.05      0.12      0.27         0
03:57:58 PM         0      1082      0.04      0.12      0.26         0
Average:            0      1082      0.05      0.12      0.27         0

runq-sz:运行队列的长度
plist-sz:进程列表中的进程和线程数
ldavg-1:最近1分钟的CPU平均负载
ldavg-5:最近5分钟的CPU平均负载
ldavg-15:最近15分钟的CPU平均负载

查看CPU使用率

sar -u 10 3


03:56:33 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
03:56:43 PM     all      0.63      0.00      0.23      0.00      0.00     99.15
03:56:53 PM     all      0.91      0.00      0.35      0.00      0.00     98.74
03:57:03 PM     all      2.03      0.00      0.45      0.03      0.00     97.49
Average:        all      1.19      0.00      0.34      0.01      0.00     98.46

查看某个CPU运行负载,程序使用了单线程,可能会有整体CPU使用率不高,但是某个CPU飚满的情况

# CPU是从0开始计数的,1表示的是第二个CPU
sar -P 1 3 5

查看系统磁盘情况

sar -d 3 5

查看内存使用情况

sar -r 3 5

选项

  • -A 显示系统所有资源设备(CPU、内存、磁盘)的运行状况
  • -u 显示系统所有CPU在采样时间内的负载状态
  • -P 显示当前系统中指定CPU的使用情况
  • -d 显示系统所有硬盘设备在采样时间内的使用情况
  • -r 显示系统内存在采样时间内的使用使用情况
  • -b 显示缓冲区在采样时间内的使用情况
  • -v 显示进程、文件、节点和锁表状态
  • -n 显示网络运行状态。参数后边可跟DEV、EDEV、SOCK、FULL。DEV显示网络接口信息;EDEV显示网络错误的统计信息;SOCK显示套接字信息;FULL显示前三个参数的所有信息
  • -q 显示运行队列的大小,与系统当时的平均负载相同
  • -R 显示进程在采样时间内的活动情况
  • -y 显示终端设备在采样时间内的活动情况
  • -w 显示系统交换活动在采样时间内的状态
  • -o filename 表示将命令结果以二进制格式存放在文件中
  • interval 采样时间间隔
  • count 采样次数

lsmod命令

查看已载入系统的模块,是list modules的缩写,其查看的是/prco/modules中的内容

lsmod

#
 展示的内容,第一列为模块的名称;第二列为模块的大小;第三列为依赖模块的个数,第四列为依赖模块的内容
drm                   303102  3 ttm,drm_kms_helper,cirrus

https://zhhll.icu/2021/linux/日常管理/系统资源命令/

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1000662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

来学Python啦,大话字符串

To be a happy man&#xff0c; reading&#xff0c; travel&#xff0c; hard work&#xff0c; care for the body and mind。做一个幸福的人&#xff0c;读书&#xff0c;旅行&#xff0c;努力工作&#xff0c;关心身体和心境。 前面我们讲解过关于用Python写温度转换器&…

列表和字典练习

定义四个学生信息 在Python环境下&#xff0c;用列表定义&#xff1a; >>> stu1[xiaoming,True,21,79.9] >>> stu1[lihong,False,22,69.9] >>> stu1[zhangqiang,True,20,89.9] >>> stu1[EMT,True,23,99.9]如图&#xff0c;定义了四个列表…

【MySQL系列】视图特性

「前言」文章内容大致是MySQL事务管理。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 视图1.1 视图概念1.2 创建视图1.3 修改互相影响1.4 删除视图1.5 视图规则和限制 视图 1.1 视图概念 视图是一个虚拟表&#xff0c;其内容由查询定义同真实的表一样…

Python 之 numpy.unique函数的介绍以及使用

文章目录 介绍语法&#xff1a;返回值&#xff1a;示例&#xff1a;补充[1] 介绍 np.unique 是 NumPy 库中的一个函数&#xff0c;用于从数组中获取唯一的值&#xff0c;并且可以返回这些唯一值的一些相关信息。以下是对 np.unique 函数的详细介绍&#xff1a; 语法&#xff…

A6120 Emerson 机箱地震振动监测器

A6120 Emerson 机箱地震振动监测器 艾默生过程管理公司宣布&#xff0c;PlantWeb数字工厂架构已经安装在化学工业CATCH(技术能力评估中心)培训中心&#xff0c;该中心位于北林肯郡格里姆斯比附近的Stallingborough。这座价值820万英镑的设施是为了满足行业对培训中心的需求而开…

leetcode 523. 连续的子数组和

感谢小虎哥的解答 bool checkSubarraySum(vector<int>& nums, int k) {unordered_map<int, int> map; // 创建哈希表&#xff0c;用于存储累积和取模 k 的结果和对应的下标map[0] -1; // 初始化哈希表&#xff0c;0 对应的下标为 -1&#xff0c;用于处理从…

周赛362(差分数组、脑经急转弯、全排列、矩阵快速幂优化DP)

文章目录 周赛362[2848. 与车相交的点](https://leetcode.cn/problems/points-that-intersect-with-cars/)差分数组 [2849. 判断能否在给定时间到达单元格](https://leetcode.cn/problems/determine-if-a-cell-is-reachable-at-a-given-time/)脑经急转弯 [2850. 将石头分散到网…

7米层高建筑模板施工方案

在高层建筑的施工中&#xff0c;7米层高是一个常见的高度要求。为了确保施工的高效性和安全性&#xff0c;制定一套合理的7米层高模板施工方案至关重要。本文将就7米层高模板施工方案进行探讨&#xff0c;包括模板选择、搭建流程和安全措施等方面。 首先&#xff0c;模板的选择…

产品经理需要熟悉的网站

产品经理需要熟悉的网站 一、SAAS平台的聚合二、saas产品教程三、原型参考教程四、在线文档协作五、云笔记六、脑图&流程图 一、SAAS平台的聚合 作用&#xff1a;面试和工作的需要&#xff0c;方便各行业产品查找竞品。 网址&#xff1a;https://www.zhaosaas.com/&#x…

运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar

朋友 我当你一秒朋友 朋友 我当你一世朋友 奇怪 过去再不堪回首 怀缅 时时其实还有 运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar 基本可以断定&#xff0c;是jar不完整导致的。不完整&#xff01;&#xff01;&#xff01;记住关键字 检查1&#xff1a; …

如何统计iOS产品不同渠道的下载量?

一、前言 在开发过程中&#xff0c;Android可能会打出来很多的包&#xff0c;用于标识不同的商店下载量。原来觉得苹果只有一个商店&#xff1a;AppStore&#xff0c;如何做出不同来源的统计呢&#xff1f;本篇文章就是告诉大家如何做不同渠道来源统计。 二、正文 先看一下苹…

注册法国商标的步骤和时间

注册法国商标的步骤如下&#xff1a; 1、商标查询&#xff1a;在提交申请之前&#xff0c;建议进行商标查询&#xff0c;以确保商标在法国市场上具有独特性和显著性。 2、提交申请&#xff1a;通过法国知识产权局的在线平台提交商标申请。申请时&#xff0c;需要提供以下文件…

C语言学习系列-->字符函数和字符串函数

文章目录 一、字符函数1、字符分类函数2、字符转换函数 二、字符串函数1、strlen概述模拟实现 2、strcpy概述模拟实现 3、strcat概述模拟实现 3、strcmp概述模拟实现 4、有限制的字符串函数strncpystrncatstrncmp 4、strstr概述模拟实现 一、字符函数 1、字符分类函数 包含头…

SQLite3 操作命令以及c/c++编程API和例子

文章目录 数据库系统SQLiteSQLite数据类型SQLite语句介绍表的创建和查看表的删除插入和修改表数据的删除复制表和修改表结构事务处理函数操作数据分组group by约束联结表视图view触发器trigger日志操作索引 index SQLite c/c编程sqlite3_opensqlite3_closesqlite3_execsqlite3_…

华为云云服务器云耀L实例评测 | 华为云耀L实例:中小企业的最佳选择?

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

地震反演基础知识2(代码演示)

文章目录 数据集代码演示1. SEG盐真实数据2. SEG盐速度模型3. SEG盐模拟地震数据4. SEG盐模拟速度模型5. openfwi地震数据6. openfwi速度模型 数据集代码演示 1. SEG盐真实数据 # 绘制SEG盐层数据的地震图像 def pain_seg_seismic_data(para_seismic_data):Plotting seismic …

第69步 时间序列建模实战:ARIMA建模(R)

基于WIN10的64位系统演示 一、写在前面 这一期&#xff0c;我们使用R进行SARIMA模型的构建。 同样&#xff0c;这里使用这个数据&#xff1a; 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Re…

Material Design的基本使用方法、Tollbar、菜单等

一、Toolbar 1、基本用法 <androidx.appcompat.widget.Toolbarandroid:id"id/toolbar"android:layout_width"match_parent"android:layout_height"?attr/actionBarSize"android:background"color/cardview_dark_background"andr…

Linux:keepalived 双热备份(基础备份web)

简介 Keepalived是一个用于Linux环境的路由软件&#xff0c;具有健康检查功能以及可用于实现高可用性(High Availability, HA)的功能。它主要支持两种协议&#xff1a;VRRP (Virtual Router Redundancy Protocol) 和 LVS (Linux Virtual Server)。Keepalived的项目源代码托管在…

一文读懂 QUIC 协议:更快、更稳、更高效的网络通信

作者 | 李龙彦 来源&#xff1a;infoQ 你是否也有这样的困扰&#xff1a;打开 APP 巨耗时、刷剧一直在缓冲、追热搜打不开页面、信号稍微差点就直接加载失败…… 如果有一个协议能让你的上网速度&#xff0c;在不需要任何修改的情况下就能提升 20%&#xff0c;特别是网络差的…