大厂面试--linux部分高级命令

top指令:查看系统性能的命令
在这里插入图片描述
uptime:查看系统性能的命令的精简版
在这里插入图片描述
vmstat -n 2 3 :查看CPU
在这里插入图片描述
在这里插入图片描述
mpstat -P ALL 2 :查看所有cpu核信息,每两秒弹一次(idle:cpu空闲率,越高越好,低于60%,cpu就有压力了)
在这里插入图片描述

每个进程使用cpu的用量分解信息:pidstat -u 1 -p 进程编号(对于用户,每秒钟查样一次,打印他的详细情况)

在这里插入图片描述
查看应用程序可用内存数:free -m(mb为单位)

应用程序可用内存/系统物理内存> 70%内存充足
应用程序可用内存/系统物理内存<20%内存不足,需要增加内存
20%<应用程序可用内存/系统物理内存<70%内存基本够用

在这里插入图片描述
查看额外:pidstat -p 进程号 -r 采样间隔秒数(mem占比超过1%,内存占用过多了)
在这里插入图片描述
查看磁盘剩余空间数:df -h
在这里插入图片描述
磁盘io性能评估:iostat 2 3 (2是采样间隔秒数,3是采样次数)

磁盘块设备分布
rkB/s每秒读取数据量kB;
wkB/s每秒写入数据量kB;
svctm I/O请求的平均服务时间,单位亳秒;
await /O请求的平均等待时间,单位亳秒;值越小,性能越好;
util一秒中有百分几的时间用于I/O操作。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘;
rkB/s、 wkB/s根据系统应用不同会有不同的值,但有规律遵循:长期、超大数据读写,肯定不正常,需要优化程序读取。
svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,
如果await的值远高于svctm的值, 则表示I/O队列等待太长,需要优化程序或更换更快磁盘。
在这里插入图片描述
查看额外:pidstat -d 采集间隔数 -p 进程号
在这里插入图片描述
查看网络io:ifstat 1
在这里插入图片描述
假如生产环境出现CPU占用过高,请谈谈你的分析思路和定位

1.先用top命令找出CPU占比最高的
在这里插入图片描述

2.ps -ef或者jps进一步定位, 得知是一个怎么样的一个后台程序给我们惹事
在这里插入图片描述

3.定位到具体线程或者代码: ps -mp 进程号 -o THREAD,tid,time
在这里插入图片描述

-m显示所有的线程
-p pid进程使用cpu的时间
-o 该参数后是用户自定义格式

4.将需要的线程ID转换为16进制格式(英文小写格式) printf “%x\n” 3300
在这里插入图片描述

5.jstack 进程ID | grep tid(16进制线程ID小写英文) -A60(-A 显示前多少行)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值