linux定位应用问题的一些常用命令,特别针对内存和线程分析的dump命令

下面这些命令都是之前遇到内存占用持续升高,cpu持续居高不下或者大幅度震荡下收集信息的方法,其中dump线程信息切记要至少dump3次

1.jps找出进程号,找到对应的进程号后面才好继续操作

2.linux查看进程详细信息

    ps -ef | grep 进程ID  

3. dump内存信息

    Jmap -dump:format=b,file=YYMMddhhmm.dump pid 

4.top查看cpu占用信息

    PID:进程的ID

    USER:进程所有者

    PR:进程的优先级别,越小越优先被执行

    NInice:值

    VIRT:进程占用的虚拟内存

    RES:进程占用的物理内存

    SHR:进程使用的共享内存

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

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

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

    TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

    COMMAND:进程启动命令名称

5.定位进程中哪个cpu高

    ps p 14766 -L -o pcpu,pid,tid,time,tname,stat,psr | sort -n -k1 –r

6.打印线程信息

     jstack 1822 > /opt/thread_dump

7.ps –f查看进程信息

9.su切换用户权限

    su 切换用户,当su的话,比如说。你当前用户为aaa

    你直接su root 你可以认真看下,只是用户变成root。你当前的操作环境还是在aaa的用户下

    如果加个su - root,就等于你的操作环境跟用户都变成root了!

    你再找找,linux的环境变量$PATH 就知道了!

10.[ -z STRING ] “STRING” 的长度为零则为真

11.执行sh无权限执行,未被识别的服务

    可能你没有为xsetup文件加上可执行权限,想知道有没有可执行权限方法如下:

    1.先su到root。

    2.在你安装的目录下输入命令:“ls -l xsetup”(这是查看文件的详细信息)

    3.你可以看到有一项类似:“-wr--r-wr-”之类的,如果这项里面的看不到有x的,只有w,r的话,证明没有可执行权限

    4.加上可执行权限, 输入命令:“chmod 777 xsetup”

12.find ./ -type f -name "*.log" | xargs grep "xxx"查询日志

转载于:https://my.oschina.net/u/1271447/blog/2987697

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值