Linux常用性能检测命令搜集

2023-11-11

我们在维护网站,管理后台时,经常遇到的问题比如:网络断开,磁盘剩余空间不足,CPU占用过高等等,针对这些问题事前预防总比事后处理要好。

当系统出现问题时,我们更要能及时准确定位错误的原因,才能针对性地解决问题。

下面搜集一些常用的系统命令及使用方法:

top指令是linux下比较常用的工具,实时显示系统各个进程的PID,资源占用,启动命令等信息,其中重点关注的是平均负载和CPU负载,就像windows的进程管理器一样方便

vm6245:~ # top
top - 10:00:20 up 17 days, 31 min,  1 user,  load average: 0.01, 0.02, 0.00
Tasks: 137 total,   2 running, 135 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 97.8%id,  2.2%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    524460k total,   432288k used,    92172k free,    23556k buffers
Swap:   530104k total,   155356k used,   374748k free,    81212k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
14417 root      16   0  5656 1260  888 R    0  0.2   0:00.03 top
    1 root      16   0   804   76   40 S    0  0.0   0:00.10 init
    2 root      RT   0     0    0    0 S    0  0.0   0:00.31 migration/0
    3 root      34  19     0    0    0 S    0  0.0   0:00.10 ksoftirqd/0
    4 root      10  -5     0    0    0 S    0  0.0   0:00.00 events/0
    5 root      11  -5     0    0    0 S    0  0.0   0:00.00 khelper

/*
* top 当前时间 up 系统运行时间 user 当前登录用户数 load average 系统负载(1分钟,5分钟,15分钟)
* Tasks: 进程数 running 正在运行数 sleeping 睡眠进程数 stopped 停止进程数 zombie 僵尸进程数
* Cpu:us用户空间 sy系统空间 id空闲 wa等待IO hi硬件中断 si软件中断 st虚拟线程
* Mem:total物理内存总量 used使用量 free空闲内存 buffers用作内核缓存的内存
* Swap:total交换区总量 used使用量 free空闲量 cached缓冲的交换区
*
* PID    USER       PR       NI       VIRT     RES
* 进程ID 进程所有者 优先级别 优先级值 虚拟内存 物理内存
*
* SHR      S        %CPU    %MEM         TIME+           COMMAND
* 共享内存 进程状态 CPU占用 物理内存占用 使用CPU时间总计 执行命令
*/

vmstat是一个很有用的监控工具,可以查看进程,内存,堵塞IO,CPU等活动

vm6245:~ # vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0 155356   9868  70392  81176    0    0     0     3    9    6  0  0 100  0  
 
/*
* procs                                 memory
* r运行队列中等待的进程数 b等待io进程数 swpd虚拟内存 free空闲内存 buff缓冲区 cache缓存
*
* swap                                  io
* si硬盘交换来的数量 so交换到硬盘的数量 bi向块设备输出的数量 bo接收的块数量
*
* system                                cpu
* in每秒中断数,包含时钟 cs上下文切换数 us用户时间 sy系统时间 id空闲时间 wa等待IO时间      
*/

df和du:df命令可以检查文件系统的磁盘空间占用情况,du可以具体查看某个文件目录所占大小

vm6245:~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda2            3.5G  2.3G  1.3G  64% /
udev                  257M   84K  256M   1% /dev
/dev/xvdb             2.7G  2.7G     0 100% /cache/xvdb

vm6245:~ # du -sh *
4.0K    S30nsp
51M     bin
304K    etc
0       htdocs
7.6M    include

/*
* df -h
* Filesystem文件系统 Size磁盘大小 Used使用量 Avail空闲空间 Use使用比 Mounted on挂载目录 
*
* du -sh * 显示当前目录下所有文件夹和文件所占磁盘大小
*/

iostat可以提供我们丰富的IO状态数据

vm6245:~ # iostat -d -k 1
Linux 2.6.16.60-0.54.5-xen (vm6245)     04/28/12

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda              0.93         0.71         6.93    1050117   10208424
xvdb              0.00         0.02         0.00      33513          0

/*
* Device设备名 tps每秒IO请求次数 kB_read每秒读取数 kB_wrtn每秒写入数 kB_read读取总量 kB_wrtn写入总量
*/


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux常用性能检测命令搜集 的相关文章

  • linux x86 汇编语言 sys_read 调用的第一个参数应为 0 (stdin)

    我正在编写一个简单的汇编程序来从标准输入读取 如 scanf 这是我的代码 section bss num resb 5 section txt global start start mov eax 3 sys read mov ebx 0
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • 如何使用 sed 仅删除双空行?

    我找到了这个问题和答案 https stackoverflow com questions 4651591 howto use sed to remove only triple empty lines关于如何删除三重空行 但是 我只需要对
  • 在主目录中安装库

    在 Linux Ubuntu 中 我尝试运行一个工具 但它显示错误 库丢失 我无权在系统中安装任何内容 或者根本无法从我的用户帐户执行 sudo 是否可以在我的主目录 没有 sudo 中安装缺少的库 在我的例子中为 libstdc so 6
  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star
  • 嵌入式Linux poll()不断返回

    我有一个特别的问题 当我知道没有什么可读时 民意调查不断返回 因此设置如下 我有 2 个文件描述符 它们构成fd设置民意调查监视 一种用于引脚从高到低的变化 GPIO 另一个用于代理输入 代理输入出现问题 处理的顺序是 启动main函数 然
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 为什么我收到“无法进行二进制日志记录”的信息。在我的 MySQL 服务器上?

    当我今天启动 MySQL 服务器并尝试使用以下命令进行一些更改时用于 MySQL 的 Toad http www quest com toad for mysql 我收到此消息 MySQL 数据库错误 无法进行二进制日志记录 消息 交易级别
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C

随机推荐

  • linux下载安装搭建、卸载FastDfs文件服务器、配置多存储路径(轮询、最大内存选择)、nginx反向代理实现图片预览、常用命令

    linux下载安装搭建 卸载FastDfs文件服务器 配置多存储路径 轮询 最大内存选择 nginx反向代理实现图片预览 常用命令 Springboot整合Fastdfs上传图片 缩略图 下载文件 需求 文件转存方案 springboot整
  • 51:电机(ULN2003D)

    目录 1 介绍 2 原理图 编辑 A 大功率直接驱动 B H桥驱动 3 电机调速 pwm 编辑 A 实例代码 大功率直接驱动 1 介绍 我们51单片机使用的是直流电机 直流电机是一种将电能转换为机械能的装置 一般的直流电机有两个电极 当电极
  • 利用CGAL对网格填洞( Filling holes)

    CGAL的资料尤其是中文资料少之又少 现根据自己要完成的工作进行一个记录和总结 也希望能填补资料的空缺 在CGAL中 使用半边结构Halfedge Data Structure来存储网格信息 另外一个类似于CGAL的库OpenMesh同样使
  • Istio熔断器功能解析

    前言 Istio因灵活的可观察性和安全的服务间通信受到了赞许 然而 其他更重要的功能才真正使得Istio成为了服务网格里的瑞士军刀 当遇到运行时长 延迟和错误率等SLO问题时 服务间的流量管理能力是至关重要的 在今年早些时候发布 Istio
  • java两个日期比较相等

    1 利用Date的equals比较大小 1 利用Date的equals比较大小 SimpleDateFormat sdf new SimpleDateFormat yyyy MM dd HH mm ss String timeStr1 20
  • stm32 串口发送字符串第一个字节丢失、复位发送00

    1 stm32 串口发送字符串第一个字节丢失 这个问题如下解决 while USART GetFlagStatus USART1 USART FLAG TXE RESET 防止一个字节丢失 USART SendData USART1 dat
  • 魏副业而战:闲鱼无货源爆款热销产品推荐

    我是魏哥 与其在家躺平 不如魏副业而战 每天分享一个闲鱼技巧 今天给大家推荐一些闲鱼爆款 很多人做闲鱼过了新鲜期之后 觉得选品太难了 很羡慕那些月入过万每天爆单的人 那为什么别人能每天轻松卖出几十单 而自己却不知道上架什么产品呢 下面就告诉
  • 检查nacos是否正常启动

    可以通过以下几种方式检查nacos是否启动 查看nacos日志文件 启动nacos时 控制台会输出一些信息 可以查看控制台输出的信息 如果显示 Server startup in XXX ms 等字样 则说明nacos已经启动 查看端口是否
  • mybatis-plus 判断参数是否为空并作为查询条件

    方式一 在配置文件中加上全局配置 mybatis plus global config db config field strategy not empty 方式二 对某一字段单独进行判断非空 QueryWrapper
  • Stable Disffusion 采样器总结

    Stable Disffusion 采样器 1 Euler a Euler a 属于超快采样模式 采样10次 即可完成基本画面 但是继续提高采样步数 就基本脱离了提示词 是个插画 tag利用率仅次与DPM2和DPM2 a 环境光效菜 构图有
  • springcloud配置详解

    在这里插入代码片 1 版本信息 父项目 依赖管理 pom文件
  • git创建/合并分支原理

    来源 https blog csdn net abcnull article details 90288499 创建与合并分支简单原理 分支被合并可以被 d 删除 分支没有被合并 d 删除会出错 需要 D 强制删除 master分支 一个分
  • Mysql教程(一):Mysql数据模型和SQL语法分析

    Mysql教程 一 Mysql数据模型和SQL语法分析 1 Mysql数据模型 1 1 关系型数据库 RDBMS 概念 建立在关系模型基础上 由多张相互连接的二维表组成的数据库 特点 使用表存储数据 格式统一 便于维护 使用SQL语言操作
  • 宝塔使用composer安装laravel 时报错 The Process class relies on proc_open, which is not available on your PHP

    Symfony Component Process Exception RuntimeException The Process class relies on proc open which is not available on you
  • vue自定义全局组件(自定义插件)

    有时候我们在做开发的时候 就想自己写一个插件然后就可以使用自己的插件 那种成就感很强 博主最近研究element ui和axios的时候 发现他们是自定义组件 但是唯一有一点不同的是 在用element ui的时候是使用Vue use 语句
  • M35J型多普勒流量计使用说明书

    一 产品原理 产品有三个功能 测平均流速 测水深 测水温 并可显示断面流量 其中水温测量使用温度探头 温度探头不与水接触 紧贴仪器外包装材料顶部 需要置于水底一定时间后才能反映实际水温 测水温的目的是校正超声波在水中的速度 并修正压力传感器
  • CVPR 2021

    点击下方卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 本文转载自 AI人工智能初学者 Coordinate Attention for Efficient Mobile Network Design论文 https arx
  • Windows7(x64) 安装Python3.7.0

    日期 2018年8月8日 作者 Commas 注释 本文写Windows7 x64 安装Python3 7 0 讲述了基本的安装操作 同时也介绍了一些相关的基础知识 本文若有哪些地方写的有所纰漏 还望各位看客指出 谢谢 如果您想了解更多有关
  • ros调试IMU

    ROS与传感器教程 razor imu 9dof使用 新固件 说明 介绍如何使用razor imu 9dof m0 创客智造采购的产品已经刷好固件 可以跳过刷固件 进行测试即可 点击淘宝采购IMU板子 步骤 环境搭配和固件更新 imu板子通
  • Linux常用性能检测命令搜集

    我们在维护网站 管理后台时 经常遇到的问题比如 网络断开 磁盘剩余空间不足 CPU占用过高等等 针对这些问题事前预防总比事后处理要好 当系统出现问题时 我们更要能及时准确定位错误的原因 才能针对性地解决问题 下面搜集一些常用的系统命令及使用