Linux一些排查问题的命令

ps

ps 命令是最基本同时也是非常强大的进程查看命令。 使用top命令可以确定有哪些进程正在运行和他所运行的状态、进程是否结束、进程有没有僵死、进程占用过多的资源。

-a:显示系统中所有进程的信息。

-e:显示所有进程的信息。

-f:显示进程的所有信息。

-l:以长格式显示进程信息。

-r:只显示正在运行的进程。

-u:显示面向用户的格式(包括用户名、CPU 及内存的使用情况等信息)。

-x:显示所有非控制终端上的进程信息。

-p:显示由进程 ID 指定的进程信息。

-t:显示指定终端上的进程信息。

USER:表示启动进程的用户。

PID:表示进程标志号。

%CPU:表示运行该进程占用 CPU 的时间与该进程总的运行时间之比。

%MEM:表示该进程占用内存与总内存之比。

VSZ:表示占用的虚拟内存大小,以 KB 为单位。

RSS:为进程占用的物理内存值,以 KB 为单位。

TTY:表示该进程建立时所对应的终端,“?”表示该进程不占用终端。

STAT:表示进程的运行状态。包括以下几种代码:D,不可中断的睡眠;R,就绪(在可运行队列中);S,睡眠;T,被跟踪或停止;Z,终止(僵死)的进程,这些进程不存在,但暂时无法消除;W,没有足够的内存分页可分配;<,高优先级的进程;N,低优先级的进程;L,有内存分页分配并锁在内存体内(实时系统或 I/O)。

START:为进程开始时间。

TIME:为执行的时间。

COMMAND:是对应的命令名。

由于 ps 执行后结果太多了,所以我们一般会带上 grep 参数来精确定位我们需要的进程号。例如,我们要查看 Nginx 占用的进程,可以用命令

ps -axu|grep nginx,如下所示:

top

top和ps命令作用相同,都是显示进程的状况,但是top可以动态显示进程的状态

第一行内容一次表示当前时间、系统启动时间、当前系统登录的用户数、平均负载。第二行显示的所有启动的、目前运行的、挂起的(sleeping)和无用的(zombie)进程。第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用的比例、闲置(Idle)比例。第四行显示物理内存的使用情况,包括总的交换分区、使用的、空闲的和高速缓存的交换分区。第六行显示的内容最多

PID(Process ID):进程标志号,是非零正整数。

USER:进程所有者的用户名。

PR:进程的优先级别。

NI:进程的优先级别数值。

VIRT:进程占用的虚拟内存值。

RES:进程占用的物理内存值。

SHR:进程使用的共享内存值。

STAT:进程的状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态,N 表示该进程优先值是负数。

%CPU:该进程占用的 CPU 使用率。

%MEM:该进程占用的物理内存和总内存的百分比。

TIME:该进程启动后占用的总 CPU 时间。

COMMAND:进程启动的启动命令名称,如果这一行显示不下,在进程中会有一个完整的命令行。

在使用top命令的过程中,还可以使用一些交互命令来完成其他参数的功能。top刷新参数命令如下

P:根据 CPU 使用的多少进行排序。

T:根据时间、累计时间排序。

q:退出 top 命令。

m:切换显示内存信息。

t:切换显示进程和 CPU 状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存的大小进行排序。

W:将当前设置写入~/.toprc 文件中,这是写 top 配置文件的推荐方法。

pgrep

pgrep 命令的作用是查看当前运行的进程,并列出匹配给定条件进程的PID。使用权限为所有用户

pgrep -o 当匹配多个进程时,显示进程号最小的那个

同时显示PID和processName pgrecp -l

pgerp -n 当匹配多个进程时,显示进程号最大的那个

vmstat

vmstat 2 3 2表示每两秒钟采集一次服务器状态,3表示只采集三次

类别

项目

含义

说明

Procs(进程)

r

等待执行的任务数

展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。

B

等待IO的进程数量

Memory(内存)

swpd

正在使用虚拟的内存大小,单位k

free

空闲内存大小

buff

已用的buff大小,对块设备的读写进行缓冲

cache

已用的cache大小,文件系统的cache

inact

非活跃内存大小,即被标明可回收的内存,区别于free和active

具体含义见:概念补充(当使用-a选项时显示)

active

活跃的内存大小

具体含义见:概念补充(当使用-a选项时显示)

Swap

si

每秒从交换区写入内存的大小(单位:kb/s)

块设备每秒接收的块数量,单位是block,这里的块设备是指系统上所有的磁盘和其他块设备,现在的Linux版本块的大小为1024bytes

so

每秒从内存写到交换区的大小

块设备每秒发送的块数量,单位是block

IO

bi

每秒读取的块数(读磁盘)

这两个值越大,会看到由内核消耗的cpu时间sy会越多

bo

每秒写入的块数(写磁盘)

秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目

system

in

每秒中断数,包括时钟中断

这两个值越大,会看到由内核消耗的cpu时间sy会越多

cs

每秒上下文切换数

秒上下文切换次数,例如我们调用系统函数,就要进行上下文切换,线程的切换,也要进程上下文切换,这个值要越小越好,太大了,要考虑调低线程或者进程的数目

CPU(以百分比表示)

us

用户进程执行消耗cpu时间(user time)

us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了

sy

系统进程消耗cpu时间(system time)

sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足

Id

空闲时间(包括IO等待时间)

一般来说 us+sy+id=100

wa

等待IO时间

wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。

vmstat命令提供的参数命令,常用的参数有

-m :显示内核的内存使用情况(slabs)

-a :显示活动和非活动内存分页相关信息

-n :只显示一次栏位名称行,当在取样模式通下将输出信息存储到文件时非常有用。(例如,root#vmstat –n 2 10 以每2秒钟的频率执行10次取样),如果只接一个数字,则表示每多少秒无限执行

jstat

时间戳记-自目标JVM启动时间以来的时间(以秒为单位)。

S0C –幸存者0区域的容量,以KB为单位

S1C –幸存者1区域的容量,以KB为单位

S0U –幸存者0区域使用的空间以KB为单位

S1U –幸存者1区域以KB为单位使用空间

EC –伊甸园地区容量(KB)

欧盟–伊甸园地区的已利用空间(以KB为单位)

OC –旧区域容量(KB)

OU –旧区域的已利用空间,以KB为单位

MC –元空间区域容量,以KB为单位

MU –元空间区域使用的空间以KB为单位

CCSC –压缩类空间区域的容量,以KB为单位

CCSU –压缩类空间区域以KB为单位使用空间

YGC –迄今为止发生的年轻GC事件的数量

YGCT –到目前为止,年轻GC花费的时间

FGC –迄今为止已发生的完全GC事件的数量

FGCT –到目前为止已花费的完整GC时间

GCT –到目前为止所花费的GC时间总量(基本上是YGCT + FGCT)

yum源问题

Error:GPG check FAILED
#后面加个--nogpgcheck
yum install mysql-community-server --nogpgcheck

每次更新yum源记得清楚缓存并重新生成缓存

yum clean all
yum makecache
#并更新yum源
yum update -y

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值