一、占用CPU比较高的进程以及线程和哪行代码
步骤:链接地址:https://blog.youkuaiyun.com/tanga842428/article/details/79318095
1.top:使用top命令 如果安装htop 后可使用htop 命令查看占用cou比较高的进程号pid
pid为当前进程的进程号
2.ps -mp pid -o THREAD,tid,time :
查看当前pid 下面的占用cpu的线程
查询出占用cpu比较高的线程
3.使用两种方式来查找占用比较高的代码块
3.1 先用jstack命令把java 堆栈信息打印到一个记事本或者某个日志文件下
例如:jstack pid > test.log
pid 是进程号 test.log 打印信息的地方 可以新建个文件夹打印到文件夹下 jstack pid > test.txt
使用printf ‘%x\n’ tid 将tid转换成十六进制的数据
再输命令vim test.txt 或者 vim test.log
/再输入所转换的tid的十六进制就可定位到信息
二、查看gc回收数据问题
步骤:
命令 :jstat -gcutil pid 1000 100
pid 为进程号
三、熟悉htop命令 链接地址:https://www.cnblogs.com/yqsun/p/5396363.html
监控软件htop
安装完成 直接htop命令进入htop页面
各项从上至下分别说明如下:
Linux htop工具使用详解
左边部分从上至下,分别为,cpu、内存、交换分区的使用情况,右边部分为:Tasks为进程总数,当前运行的进程数、Load average为系统1分钟,5分钟,10分钟的平均负载情况、Uptime为系统运行的时间。
Linux htop工具使用详解
各项从上至下分别说明如下:
,F8增大nice值(减小优先级),选择某一进程,按F7或F8来增大或减小nice值,nice值范围为-20-19,此处我把apache的nice值调整到了19
进程优先级的定义:
PRI: 代表这个进程可被执行的优先级 越小优先级越高
NI: 代表这个进程的nice值 可以理解为进程优先级的修正值 可为负值或者整数
PRI也还是比较好理解的,即进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小进程的优先级别越高。那NI呢?就是我们所要说的nice值了,其表示进程可被执行的优先级的修正数值。如前面所说,PRI值越小越快被执行,那么加入nice值后,将会使得PRI变为:PRI(new)=PRI(old)+nice。这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行。
2. Display options