开发小运维-常用Linux资源监控命令

文章目录

  • 简介
  • 常用命令
    • /proc/meminfo(内存)
    • free(内存信息)
    • top(进程动态)
    • df (磁盘信息)
    • du(磁盘信息)
    • ps(进程状态)
    • vmstat(内存统计)
    • netstat(网络状态)
    • iostat(磁盘IO)

简介

日常开发中,我们的应用都是在linux环境上运行,环境在运行中可能会出现各种状况,比如

  • 日志没有定时清理导致磁盘爆满
  • 线程池嵌套使用导致线程等待
  • 无限制的数据计算导致cpu飙高
  • 数据加载过多进入内存导致内存爆满

当出现上述各种情况等,我们需要通过linux监控命令对环境状态进行问题排查,本文主要总结几个日常使用频繁的监控命令

常用命令

/proc/meminfo(内存)

/proc/meminfo 是一个报告可用和已用内存量的虚拟文件,它包含有关系统内存使用情况以及内核使用的缓冲区和共享内存的实时信息。进程的内存使用信息也可以通过 /proc/[pid]/statm 和 /proc/[pid]/status 来查看。

cat /proc/meminfo

在这里插入图片描述

free(内存信息)

free命令可以帮助你深入了解系统内存(RAM)的使用情况等,它是对 /proc/meminfo 收集到的信息的一个概述

free [选项]

在这里插入图片描述
命令选项介绍:

选项描述
-h通过调整 KB、GB 等数据单位,以人类可读的形式打印信息
-s在给定的时间间隔参数后更新 free 输出
-t显示系统和交换内存的总量
-g以 GB 为单位显示数据
-m以 MB 为单位打印信息
-k以 KB 为单位显示输出

输出数据描述:

参数描述
total表示安装内存
used显示系统已使用的存储空间 (used= total – free – buff/cache)
free可用于新进程的可用内存量(free= total – used – buff/cache)
sharedtmpfs(临时文件系统)使用的内存量
buff/cache表示缓冲区和缓存使用的内存总和 (Buffers + Cache)
available它估计有多少内存可用于启动新应用而无需交换。它是free 内存和可以立即使用的 buff/cache 的一部分的总和

top(进程动态)

top命令用于实时显示进程动态的工具,可以显示系统中各个进程的资源占用情况,如CPU使用率、内存使用率等。

top  [选项]

在这里插入图片描述
命令选项介绍:

选项描述
-b批处理
-c显示完整的治命令
-s保密模式
-S累积模式
-i<时间>设置间隔时间
-p<进程号>指定进程
-n<次数>循环显示的次数

输出数据描述:

参数描述
第一行表示当前系统时间、有两个用户登录,load average: 0.00, 0.01, 0.05 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况
第二行描述任务(进程)情况,系统现在共有289个进程,其中处于运行中的有1个,288个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行表示cpu状态信息
0.2%us — 用户空间占用CPU的百分比。
0.2%us — 用户空间占用CPU的百分比。
0.2% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
99.6% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
第四行表示当前系统时间、有两个用户登录,load average: 0.00, 0.01, 0.05 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况
第五行表示内存状态信息
32761424k total — 物理内存总量
2411932k used — 使用中的内存总量
20718732k free — 空闲内存总量
9630760k buffers — 缓存的内存量
PID进程id
USER进程所有者
PR进程优先级
NInice值。负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR共享内存大小,单位kb
S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU上次更新到现在的CPU时间占用百分比
%MEM进程使用的物理内存百分比
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND进程名称(命令名/命令行)

df (磁盘信息)

df命令可以快速获取 磁盘 被占用了多少空间,目前还剩下多少空间等信息

df [选项]

在这里插入图片描述

du(磁盘信息)

du命令可以统计 目录(或文件)所占磁盘空间的大小
在这里插入图片描述

ps(进程状态)

ps命令用于查看当前运行的进程状态的命令

ps  [选项]

在这里插入图片描述
命令选项介绍:

选项描述
-e显示所有进程
-f使用全格式显示进程信息
-l显示长格式的进程信息
-u显示与指定用户相关的进程信息
-p显示指定进程ID的进程信息
-o自定义输出格式

vmstat(内存统计)

vmstat 命令显示实时的和平均的统计,覆盖 CPU、内存、I/O 等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。
在这里插入图片描述
输出数据描述:

参数描述
r运行队列进程个数
b在等待IO的进程数
swpd已经使用的交换内存(kb)
free空闲的物理内存(kb)
buff用作缓冲区的内存数(kb)
cache用作高速缓存的内存数(kb)
si每秒交换分区写入内存量
so每秒内存写交换分区的量
bi每秒从块设备读取的块数量
bo每秒写入块设备的块数量
wa等待io 所消耗的cpu 时间
st用于虚拟机,如果你的机器是虚拟化设备,虚拟 CPU 等待实际 CPU 的时间的百分比

netstat(网络状态)

netstat 网络连接状态查看命令,可以查看的网络中的传输层(TCP、UDP)信息,日常可以查看某个端口是否开放

netstat  [选项]

在这里插入图片描述

命令选项介绍:

选项描述
-a(all)显示所有选项,默认不显示LISTEN相关
-t(tcp)仅显示tcp相关选项
-u(udp)仅显示udp相关选项
-n拒绝显示别名,能显示数字的全部转化成数字
-l仅列出有在 Listen (监听) 的服務状态
-p显示建立相关链接的程序名
-r显示路由信息,路由表
-e显示扩展信息,例如uid等
-s按各个协议进行统计
-c每隔一个固定时间,执行该netstat命令

输出数据描述:

参数描述
Proto协议类型,如 TCP 或 UDP
Recv-Q接收队列的长度,即等待进程读取的数据量
Send-Q发送队列的长度,即等待网络传输的数据量
Local Address本地IP地址和端口号
Foreign Address连接的远程IP地址和端口号
State连接的状态,如 ESTABLISHED、TIME_WAIT 等(包含TCP三次和四次挥手过程中的状态)

iostat(磁盘IO)

iostat 命令(即:I/O statistics)是用来对系统的磁盘操作进行监视

iostat  [选项]

在这里插入图片描述

命令选项介绍:

选项描述
-c显示CPU的使用情况
-d显示磁盘的使用情况
-k以KB为单位显示
-m以MB为单位显示
-x显示详细信息
-t显示终端和CPU的信息

输出数据描述:

参数描述
%user表示处在用户模式下的CPU时间百分比
%nice表示处在带nice值的用户模式下的CPU时间百分比
%system表示处在系统模式下的
%iowait表示CPU等待输入输出完成的时间百分比
%steal表示虚拟CPU的无意识等待时间百分比
%idleCPU空闲时间百分比
tps设备每秒的传输次数
kB_read/s每秒从设备读取的数据量
kB_wrtn/s每秒向设备写入的数据量
kB_read读取的总数据量
kB_wrtn写入的总数据量

❤️如果 %iowait 的值过高,表示硬盘存在 I/O 瓶颈,%idle 值高,表示 CPU 较空闲,如果 %idle值 高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量。%idle 值如果持续低于 10,那么系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iOS的App启动详细过程(底层知识)

1.虚拟内存 & ASLR 在早期计算机中数据是直接通过物理地址访问的&#xff0c;这就造成了下面两个问题 1.内存不够用 2.数据安全问题 内存不够 ---> 虚拟内存 虚拟内存就是通过创建一张物理地址和虚拟地址的映射表来管理内存&#xff0c;提高了CPU利用率&#xff0c;…

IDEA:如何在idea中设置自动导包

这里使用的是idea2020版本,但是不同版本操作不会有较大的差别. 在Editer中展开General之后,选中Auto Import,最后勾选中Add unambiguous imports on the fly.

DMHS数据同步工具

DMHS数据同步工具 ​ 本章节主要介绍DM数据同步工具DMHS的使用&#xff0c;通过将oracle11g的数据同步到DM8的过程来理解DMHS的功能和作用。 安装前的准备 端口、服务信息 IP地址服务名称版本端口安装路径192.168.19.136OracleOracle11.0.21521/opt/oracle/DMHS源端dmhs_V3…

深入理解Faiss:高效向量检索的利器

近年来&#xff0c;随着人工智能和机器学习技术的飞速发展&#xff0c;向量检索技术变得越来越重要。无论是在推荐系统、图像搜索还是自然语言处理等领域&#xff0c;向量检索都扮演着至关重要的角色。而在众多向量检索库中&#xff0c;Faiss&#xff08;Facebook AI Similarit…

基于Springboot 和Vue 的高校宿舍管理系统源码

网络上很多宿舍管理系统都不完整&#xff0c;大多数缺少数据库文件&#xff0c;所在使用极其不方便&#xff0c;由于本人程序员&#xff0c;根据代码&#xff0c;自己花时间不全了数据库文件&#xff0c;并且可以完美运行&#xff01;&#xff01;&#xff01;&#xff01;&…

C++:C/C++的内存管理

目录 C/C内存分布 C语言中动态内存管理方式 C内存管理方式 new/delete操作内置类型 new/delete操作自定义类型 operator new与operator delete函数 new和delete的实现原理 定位new表达式 常见问题 malloc/free和new/delete的区别 内存泄漏 C/C内存分布 我们先来看以…

【傅里叶分析】复数基础知识

【傅里叶分析】复数基础知识 复数复数的几何意义与点的对应与向量的对应 复数与极坐标辐角与辐角主值三角函数 参考文献 本文参考了网上的其他文章&#xff0c;已在文末参考文献中列出&#xff1b;如有侵权&#xff0c;请联系我删除。 复变函数是傅里叶分析的基础&#xff0c;而…

【原创公式】【完全二叉树】叶结点的计算【数据结构】

完全二叉树叶结点的计算 【铺垫】1叶结点即度为0的结点 2完全二叉树中度为1的结点只可能有0或1个 3完全二叉树的设叶结点仅可能出现在最后2层 设有完全二叉树T 【区分】第k层有a个叶结点≠第k层有a个结点 &#xff08;1&#xff09;第k层有a个叶结点&#xff1a;T的形态不唯一&…

【Linux操作系统】进程控制

目录 一、进程创建1.1 认识fork1.2 写时拷贝 二、进程终止2.1 进程退出2.2 函数退出2.3 exit 三、进程等待四、程序替换 一、进程创建 1.1 认识fork fork函数是系统调用接口&#xff0c;用来创建子进程的 根据进程的pid&#xff0c;可以看出父进程fork后分为父进程和子进程…

单片机原理及技术(六)—— 中断系统的工作原理

目录 一、AT89S51中断技术概述 二、AT89S51中断系统结构 2.1 中断请求源 2.2 中断请求标志寄存器 2.2.1 TCON 寄存器 2.2.2 SCON 寄存器 三、中断允许与中断优先级的控制 3.1 中断允许寄存器 IE 3.2 中断优先级寄存器 IP 四、响应中断请求的条件 五、外部中断的触发…

深入理解java web分层架构的高内聚低耦合

​ 在软件开发中&#xff0c;构建一个高效、可维护且可扩展的应用系统一直是开发者追求的目标。分层架构和依赖注入&#xff08;IOC&#xff09;是实现这一目标的重要策略。本文将深入探讨三层架构的高内聚特性、低耦合的设计原则&#xff0c;以及如何通过IOC&#xff08;控制反…

FPGA开发——在线调试工具Signal Tap的使用

一、简介 在我们进行FPGA进行开发时通常都会经历代码编写&#xff0c;仿真&#xff0c;下板验证等过程。使用FPGA进行开发的小伙伴都知道&#xff0c;在代码编写时往往花费不了太长的时间&#xff0c;下板验证更是。在开发中占绝大部分时间的是仿真&#xff0c;有时候编写代码只…

基于Python的火车票售票系统/基于django的火车购票系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&…

Ubuntu虚拟机服务器的搭建

01.VMware安装 略。 02.Ubuntu虚拟机安装 略。 03.配置Ubuntu虚拟机网络 参考视频&#xff1a; Ubutu虚拟机网络配置&#xff08;桥接&#xff09;https://www.bilibili.com/video/BV1bG411V72A/?spm_id_from333.999.0.0&vd_sourced1fd4bcc46805ab35cc8bbb5a8bf318f…

解决springboot中Aspect注解不生效问题

如下图所示&#xff0c;配置了一个注解类型的Aspect&#xff0c;结果一直不生效 运行结果可以看到&#xff0c;其他非注解类型的Aspect都顺利执行了&#xff0c;但是这个注解的切面就是没有执行 当时也在网上搜了半天&#xff0c;包括在启动类增加配置&#xff0c;接口都要加上…

HTTPS通讯全过程

HTTPS通讯全过程 不得不说&#xff0c;https比http通讯更加复杂惹。在第一次接触https代码的时候&#xff0c;不知道为什么要用用证书&#xff0c;公钥是什么&#xff1f;私钥是什么&#xff1f;他们作用是什么&#xff1f;非对称加密和对称加密是啥&#xff1f;天&#xff0c;…

深度学习设计模式之外观模式

文章目录 前言一、介绍二、特点三、详细分析1.核心组成2.代码示例3.优缺点优点缺点 4.使用场景 总结 前言 外观模式是结构型设计模式&#xff0c;定义一个高层接口&#xff0c;用来访问子系统中的众多接口&#xff0c;使系统更加容易使用。 一、介绍 外观设计模式&#xff08…

一文掌握 Web 测试:功能、界面、兼容与安全的综合测试指南!

随着Web技术的不断演进&#xff0c;测试除了对应用的功能性、界面美观性、跨平台兼容性的基本要求外、安全性和性能的要求也逐步增高。因此&#xff0c;全面、系统的测试思维和策略成为了保证Web应用高质量的关键因素。本篇文章将从功能测试、界面测试、兼容性测试和安全测试四…

transformer-explainer

安装和启动 找到这个项目&#xff0c;然后装好了。 这个项目的目的如名字。 https://github.com/poloclub/transformer-explainerTransformer Explained: Learn How LLM Transformer Models Work with Interactive Visualization - poloclub/transformer-explainerhttps:/…

BVS:多强联手,李飞飞也参与的超强仿真数据生成工具,再掀数据狂潮 | CVPR 2024

BEHAVIOR Vision Suite&#xff08;BVS&#xff09;是一个新型工具包&#xff0c;旨在系统评估和全面理解计算机视觉模型。研究人员能够在场景、对象和相机级别控制各种参数&#xff0c;有助于创建高度定制的数据集。 来源&#xff1a;晓飞的算法工程笔记 公众号 论文: BEHAVIO…