zoukankan      html  css  js  c++  java
  • Linux服务器下CPU过高

    在服务器报cpu过高时,可使用以下命令,快速导出堆栈信息,以方便查看具体的问题。

    使用top命令定位异常进程。可以看见12836的CPU和内存占用率都非常高

    此时可以再执行ps -ef | grep java,查看所有的java进程,在结果中找到进程号为12836的进程,即可查看是哪个应用占用的该进程。

    使用top -H -p 进程号查看异常线程

    使用printf "%x " 线程号将异常线程号转化为16进制

    使用jstack 进程号|grep 16进制异常线程号 -A90来定位异常代码的位置(最后的-A90是日志行数,也可以输出为文本文件或使用其他数字)。可以看到异常代码的位置。

    查看java安装路径

    whereis java
    which java (java执行路径)
    echo $JAVA_HOME

    echo $PATH

    linux搜索文件名称

    //.点为查找当前目录 下 的 所有 *.php 文件里 有 hello 的文件
    find . -name "*.php" | xargs grep "hello"
    
    //根目录
    find / -name "*.php" | xargs grep "hello"

    注意事项:

    如果提示 -bash: jstack: command not found,则可以找到jdk的目录,进入bin目录,

            在执行 ./jstack 进程号 | grep 16进制异常线程号 -A90 即可。

       
    如果提示 well-known file is not secure,则是因为账号权限的问题。在/tmp/hsperfdata_$USER/目录,有一个以进程号命名的文件,当我们执行jmap或者jstack出现上叙信息时,先检查执行该命令的用户是否和hsperfdata_$USER这个文件所属的用户一致,如果不一致,切换至成一致再执行。执行:sudo -u 有权限的账号 ./jstack 进程号 | grep 16进制异常线程号 -A50 即可。

    参考文献

    https://blog.csdn.net/chenjunan888/article/details/80447800

    linux如何修改文件夹所属用户名和用户组

    格式:chown 账号名称 文件或目录

    实例:chown www vpsss

    增加权限给当前用户 chmod +wx filename

    chmod -R 777 /upload

    用户组 chgrp -R foldname zdz

    chown -R 所有者用户名.组名 文件夹名称
    例如:chown -R zdz.nginx KooBox

  • 相关阅读:
    数据恢复
    InnoDB LRU优化
    STM32 M0之SPI
    C# 添加日志文件
    VCI_CAN二次开发摘机
    [一点感触]ADF4350 ADF4111混频记
    Linux札记
    C# String与Byte数组的转换
    STM32 CAN
    stm32 F40x CCM数据区的使用
  • 原文地址:https://www.cnblogs.com/1234cjq/p/11264212.html
Copyright © 2011-2022 走看看