linux之运维性能命令

在 Linux 系统中,有许多命令和工具可以帮助运维人员监控系统状态、性能以及定位问题。以下是一些常用的运维相关命令:

top: 如前所述,实时显示进程的资源占用情况。

htop: 类似于 top,但提供了一个更为用户友好的界面,支持颜色显示和滚动。

vmstat: 报告有关系统进程、内存、分页、块 IO、陷阱和 CPU 活动的信息。

iostat: 用于监控系统输入输出设备和分区的性能。

free: 显示内存的使用情况,包括物理内存、交换内存、缓冲和缓存。

df: 报告文件系统的磁盘空间使用情况。

du: 估算文件或目录所占用的磁盘空间。

lsof: 列出被进程打开的文件,可以用来查找哪个进程占用了磁盘空间或端口。

netstat: 显示网络连接、路由表、接口状态等网络相关信息。

ss: 与 netstat 类似,用来查看和监控网络连接。

tcpdump: 用于捕获和分析网络流量数据包。

nmap: 网络探测和安全扫描工具,用于探测网络上的主机和服务。

sar: 系统活动报告工具,可以回顾历史数据,了解系统在过去的表现。

mpstat: 报告 CPU 的使用情况。

pidstat: 报告特定 PID 或所有进程的 CPU、内存、I/O 等统计信息。

dmesg: 显示或控制内核环形缓冲区的内容,通常用于诊断硬件和驱动问题。

strace: 跟踪系统调用和信号,用于调试进程执行时的操作。

uptime: 显示系统已运行的时间以及平均负载。

ps: 报告当前系统的进程状态。

journalctl: 用于查询和显示从 systemd 日志开始以来的消息。

当 Linux 机器告警时,可以采取以下步骤快速定位问题:

查看系统日志:使用 dmesg 和 journalctl 检查是否有硬件故障或系统错误。

检查资源占用:使用 top 或 htop 确定哪些进程占用了过多的 CPU 或内存资源。

检查磁盘空间:使用 df 和 du 命令检查磁盘空间是否不足。

检查网络连接:使用 netstat、ss 和 nmap 查看网络连接和端口状态。

分析性能数据:使用 vmstat、iostat、mpstat 和 sar 进行更深入的性能分析。

监控进程和系统调用:使用 ps、pidstat 和 strace 监控特定进程的行为和系统调用。

检查内存使用:使用 free 和 vmstat 查看内存使用情况。

每个命令都有其详细的参数和用法,具体问题需要结合具体命令的输出和系统日志进行综合分析。在处理告警和问题时,可能需要根据具体情况组合使用这些命令

我会选择几个经常用于系统监控和故障排查的命令进行详细介绍:

top
top 命令是最常用的性能监控工具之一,它提供了一个实时更新的视图,显示系统中当前活动的进程以及它们对 CPU 和内存的使用情况。通过 top,你可以看到哪些进程占用了最多的资源,并可以进行进程管理,如改变优先级或终止进程。此外,它还显示了系统的负载平均值、正在运行的任务数量、CPU 状态等信息。

使用方法:

top
在 top 的界面中,你可以使用键盘命令进行交互,例如按 P 来按 CPU 使用率排序,按 M 按内存使用率排序,或者按 k 终止一个进程。

iostat
iostat 命令用于监视系统的 I/O 设备负载。它可以报告 CPU 统计和所有分区的输入/输出统计。这个工具对于检测系统的磁盘瓶颈非常有用。

使用方法:

iostat
你可以使用 -x 选项显示扩展的统计信息,或者使用 -c 仅显示 CPU 使用率,-d 仅显示磁盘使用情况,或是指定刷新间隔和次数,例如每 2 秒刷新一次,共刷新 5 次:

iostat -x 2 5
vmstat
vmstat (虚拟内存统计) 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的信息。这个工具对于理解系统上的工作负载特征非常有用。

使用方法:

vmstat 1
上述命令会每秒刷新一次输出。vmstat 的输出包括内存、交换、IO 和 CPU 部分的统计数字。

netstat
netstat 命令显示网络连接、路由表、接口统计信息等,是用于检查网络配置和活动的工具。

使用方法:

netstat -tulnp
选项 -tulnp 的含义如下:

-t: 显示 TCP 连接。

-u: 显示 UDP 连接。

-l: 仅显示监听套接字(通常用于查找运行的服务)。

-n: 显示 IP 地址而不是解析的主机名。

-p: 显示哪个进程正在使用套接字。

dmesg
dmesg 命令用于打印和控制内核环形缓冲区的消息,它通常用来检测硬件相关的问题和驱动程序消息。

使用方法:


使用 | less 可以让你方便地浏览消息。你也可以使用 -T 选项来查看人类可读的时间戳。

dmesg | less

lsof
lsof 命令列出当前系统打开文件的信息。由于在 Unix 和类 Unix 系统中,几乎一切都是文件(包括设备和网络套接字),lsof 是非常强大的排查工具。

使用方法:

lsof -i tcp:22


上述命令会列出所有使用 TCP 端口 22(通常是 SSH 服务)的进程。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/12241

(0)
凯影的头像凯影
上一篇 2024年7月2日 下午4:37
下一篇 2024年7月3日 下午5:09

相关推荐

  • 远程登录Windows实例出现黑屏,无法进入桌面如何解决?

    问题现象 如果您的Windows实例操作系统中C:\Windows目录下的explorer.exe文件丢失,则远程登录Windows实例时会一直处于黑屏状态,无法进入桌面,黑屏状态如下。 C:\Windows目录下的explorer.exe丢失的可能原因有: 解决方案 重新在Windows操作系统的C:\Windows目录中添加explorer.exe文件后…

    2023年11月13日
    25900
  • NtLmSsp攻击的解决办法

    问题描述 服务器无法连接或者服务器经常自动重启 问题排查 查看系统日志,在安全类目发现大量的登录审核失败的记录。 解决方法 进行NTLM策略控制,彻底阻止NTLM响应 修改以下2个设置: 网络安全:Lan管理器身份验证级别:仅发送 NTLMv2 响应/拒绝 LM 和 NTLM 网络安全:限制NTLM:传入NTLM流量 修改成拒绝所有账户

    2022年9月3日
    2.0K00
  • Linux 实用工具 Screen —— 再也不怕因为网络连接中断杀死任务了!

    不知道小伙伴们是否遇到过这样的场景: 有时候,我们本地通过 SSH 连接到远程服务器并不是很稳定,经常会断开连接。如果此时我们正在做类似更新系统、DD 系统、远程传输 / 下载文件等需要一定时间的操作,就会非常难受,好不容易传了半天的文件,中断了,又得重新来传一次,还得祈祷这次别传一半断开了。 今天我们介绍的这个工具 ——screen,就是为了来解决上面这些…

    2023年11月9日
    22500
  • ubuntu修改默认文件权限umask

    在Ubuntu中,umask是一个内置的shell命令,用于确定新创建文件和目录的默认权限。umask值是一个三位或四位的八进制数。这个值被从全权限(即777)中减去,以得到新文件或目录的默认权限。 要临时修改umask值,你可以在命令行中直接输入umask命令,后面跟上你想要的值。例如,要将umask设置为022(这将使新文件的默认权限为755,新目录的默…

    2023年10月16日
    37500
  • MySQL 用户管理和权限管理

    在项目中,一个数据库有很多人需要使用,不能所有的人都使用相同的权限,如果人比较多,一人一个用户也很难管理。一般来说,会分超级管理员权限,管理员权限,读写权限,只读权限等,这样方便管理。当然,具体怎么管理权限根据实际情况来确定。无论如何,都需要创建多个用户来管理权限。root 是数据库的超级管理员用户,对于普通开发人员来说,权限太大了,如果不小心做了一些不可逆…

    2022年6月9日
    66000

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信