服务器运行情况及线上排查问题常用命令

一、top命令

指令行:

bash 复制代码
top

返回:

返回分为两部分

(一)系统概览,见图知意

以下是几个需要注意的参数

1、load average:

系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

这里具体需要关注的还是load average三个数值。先来说说定义吧:在一段时间内,CPU正在处理以及等待CPU处理的进程数之和。三个数字分别代表了1分钟,5分钟,15分钟的统计值,这个数值的确能反应服务器的负载情况。但是,这个数值高了也并不能直接代表这台机器的性能有问题,可能是因为正在进行CPU密集型的计算,也有可能是因为I/O问题导致运行队列堵了。所以,当我们看到这个数值飙升的时候,还得具体问题具体分析。

大家都知道,一个CPU在一个时间片里面只能运行一个进程,CPU核数的多少直接影响到这台机器在同时间能运行的进程数。所以一般来说Load Average的数值别超过这台机器的总核数,就基本没啥问题。

CPU 100% 不是坏事,说明程序写的好把资源都利用上了,但是负载排上 10 肯定浑身难受,说明你的任务积压处理不动了。

2、swap.used:

内存信息和swap信息,所有程序的运行都是在内存中进行的,所以内存的性能对与服务器来说非常重要。不过当内存的free变少的时候,其实我们并不需要太紧张。真正需要看的是Swap中的used信息。

Swap分区是由硬盘提供的交换区,当物理内存不够用的时候,操作系统才会把暂时不用的数据放到Swap中。所以当这个数值变高的时候,说明内存是真的不够用了。

(二)进程详情

以下是几个奇怪名称的含义:

NI nice值,负值表示高优先级,正值表示低优先级

VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR 共享内存大小,单位kb

S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

TIME+ 进程使用的CPU时间总计,单位1/100秒

COMMAND 命令名/命令行

(三)top命令变种

bash 复制代码
top -p 28820 -p 38830   #每隔3秒显示pid是28820和pid是38830的两个进程的资源占用情况
相关推荐
Decay__12 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
测试界的小码农12 小时前
【Linux 命令实战(06):Linux 文件权限管理,掌握 chmod、chown、chgrp】
linux·运维·服务器
陈希12313 小时前
负载均衡与高可用:LVS、HAProxy、Keepalived 实战
运维·负载均衡·lvs
SQL7717 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS18 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet19 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
爱和冰阔落20 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
无奈笑天下1 天前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州1 天前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__2 天前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构