java面试-linux命令

 一、生产环境服务器变慢,谈谈你的诊断思路。

1、整机:top [看CPU、内存 load average(1分钟、5分钟、15分钟系统的平均负载值  三值相加/3*100% > 60%  系统负担压力大]
     uptime:系统性能命令的精简版

2、查看CPU:vmstat -n 2 3
        [procs r:运行和等待CPU时间片的进程数 不能超过总核数的2倍    b:等待资源的进程数]
        [CPU  us:用户进程消耗CPU时间百分比   sy:内核进程消耗CPU时间百分比   us+sy>80% 存在CPU不足]
       
        mpstat -P ALL 2:查看所有CPU核信息 【idle代表CPU空闲值,越高越好】
        ps -ef|grep java
        pidstat -u 1 -p 进程编号:每个进程使用CPU的用量分解信息
3、查看内存:free  [free -m]
        [free/total>70% 内存充足    free/total<20% 内存不足]
         
        pidstat -p 进程编号 -r 采用间隔秒数

4、查看磁盘:df -h [查看磁盘剩余空间数]

5、磁盘IO:iostat -xdk 2 3
       [一秒中有百分几的时间用于IO操作 接近100%磁盘带宽跑满,需要优化程序或增加磁盘]
       pidstat -p 进程编号 -d 采用间隔秒数
6、网络IO:ifstat [默认本地没有,需下载]

  

二、生产环境出现CPU占用过高,谈谈你的分析思路和定位

 思路:结合Linux和JDK命令一起分析

1、先用top命令找出CPU占比最高的

2、ps -ef|grep java|grep -v grep 或者jps -l进一步定位

3、定位到具体线程或代码
ps -mp 进程编号 -o THREAD,tid,time [-m:显示所有线程   -p pid:进程使用CPU的时间    -o:用户自定义格式]

4、将需要的线程ID转换为16进制格式
printf "%x\n" 有问题的线程id

5、jstack 进程ID|grep tid(16进制线程小写英文)-60A

  

  

 

 

转载于:https://www.cnblogs.com/wjh123/p/11080617.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值