Java 系统性能分析 命令

1. cpu分析
top , pidstat(sysstat)
pid -p PID -t 1 10
vmstat 1 CPU上下文切换、运行队列、利用率
ps Hh -eo tid
pcpu 查看具体线程的CPU消耗
sar 来查看一定世界范围内以及历史的cpu消耗情况信息

查看java线程信息
jstack pid | grep 'nid=0x9999'

2. cs sy消耗比较高
上下文切换性能偏高, jstack -l pid, 查看on object monitor

3. io消耗
pidstat -d -t -p pid 1 100
iostat

4. 网络io消耗
cat /proc/interruptes
sar -n FULL 1 2
tcpdump

http://www.cnblogs.com/lidabo/p/4738113.html

近期java应用,CPU使用率一直很高,经常达到100%,通过以下步骤完美解决,分享一下。

方法一:

转载:http://www.linuxhot.com/java-cpu-used-high.html

1.jps 获取Java进程的PID。
2.jstack pid >> java.txt 导出CPU占用高进程的线程栈。
3.top -H -p PID 查看对应进程的哪个线程占用CPU过高。
4.echo “obase=16; PID” | bc 将线程的PID转换为16进制,大写转换为小写。
5.在第二步导出的Java.txt中查找转换成为16进制的线程PID。找到对应的线程栈。
6.分析负载高的线程栈都是什么业务操作。优化程序并处理问题。

方法二:

1.使用top 定位到占用CPU高的进程PID
top
通过ps aux | grep PID命令

2.获取线程信息,并找到占用CPU高的线程
ps -mp pid -o THREAD,tid,time | sort -rn
譬如:

ps -mp 10073 -o THREAD,tid,time | sort -rn

3.将需要的线程ID转换为16进制格式
printf "%x\n" tid

4.打印线程的堆栈信息
jstack pid |grep tid -A 30

http://www.cnblogs.com/pangguoping/p/5715848.html

一、统计sleep状态的进程.

c233 plugins # ps -elf|head -1
F S UID     PID   PPID C PRI   NI       ADDR   SZ    WCHAN    STIME TTY TIME     CMD
root 28149  4204    0 80     0             -       16283    poll_s       Jul05 ? 00:00:00   sshd: root

c233 plugins # ps -efl|awk '$2~/S/{print $0}'|wc -l                     //-l              long format. 
73
解释===>
(1)F列.

PROCESS FLAGS
The sum of these values is displayed in the "F" column, which is provided by the flags output specifier.
1 forked but didn't exec
4 used super-user privileges

(1)S列.

D Uninterruptible sleep (usually IO)
R Running or runnable (on run queue)
S Interruptible sleep (waiting for an event to complete)
T Stopped, either by a job control signal or because it is being traced.
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z Defunct ("zombie") process, terminated but not reaped by its parent.

(3)C列.C     pcpu         cpu utilization

(4)

command    COMMAND  see args. (alias args, cmd).

sz                    SZ       size in physical pages of the core image of the process. This
includes text, data, and stack space. Device mappings are currently
excluded; this is subject to change. See vsz and rss.

(5)WCHAN列.

wchan           WCHAN     name of the kernel function in which the process is sleeping,
a "-" if the process is running, or a "*" if the process is
multi-threaded and ps is not displaying threads.

二、统计当前运行的线程总数."-L"

c233 plugins # ps -eLf|grep -v $$|wc -l                                  //-L              Show threads, possibly with LWP and NLWP columns

646

c233 plugins # ps -eLf|grep -v $$|tail

UID        PID    PPID    LWP    C   NLWP   STIME TTY   TIME     CMD

root   23678    1    688    0    36      Jul01 ? 00:00:06   /usr/sbin/nscd
root   23678    1    689    0    36      Jul01 ? 00:00:06   /usr/sbin/nscd
root   23678    1    690    0    36      Jul01 ? 00:00:06   /usr/sbin/nscd
root   23678    1    691    0    36      Jul01 ? 00:00:06     /usr/sbin/nscd
root   23678    1    692    0    36      Jul01 ? 00:00:06     /usr/sbin/nscd
root   23678    1    693    0    36      Jul01 ? 00:00:06     /usr/sbin/nscd
root   23678    1    694    0    36      Jul01 ? 00:00:06     /usr/sbin/nscd
root   23678    1    695    0    36      Jul01 ? 00:00:06     /usr/sbin/nscd
root   23678    1    696    0    36    Jul01 ? 00:00:06     /usr/sbin/nscd
root   28149    4204 28149   0    1        Jul05 ? 00:00:00     sshd: root

NLWP (number of threads)

LWP (thread ID)

c233 plugins # ps -ef|grep nscd
root 23678 1 0 Jun30 ? 00:15:32 /usr/sbin/nscd

三、Linux下查看某个进程的线程数量.

1.根据进程号进行查询:

# pstree -p 进程号      //-p pid

# top -Hp 进程号        //-H : Threads toggle

2.根据进程名字进行查询:

# pstree -p `ps -e | grep sshd | awk '{print $1}'`

# pstree -p `ps -e | grep sshd | awk '{print $1}'` | wc -l

http://www.cnblogs.com/itcomputer/p/4652140.html

003_监测域名证书过期时间
由于因为线上证书过期,出过比较大的事故,所以就有了如下的监测证书过期的脚本

#!/bin/sh
### SSL Certificate Expire Day Check Script ###
if [ "$1" = '' ];thenecho "Need URL."exit
1;fi
TARGET_URL=$1
EXP_DAY=`openssl s_client -connect ${TARGET_URL}:443 < /dev/null 2> /dev/null | openssl x509 -text 2> /dev/null | grep "Not After" | sed -e 's/^ *//g' | cut -d " " -f 4,5,6,7,8`
NOW_TIME=`date +%s`
EXP_TIME=`date +%s -d "${EXP_DAY}"`
if [ "${EXP_DAY}" != '' -a ${NOW_TIME} -lt ${EXP_TIME} ]; thenecho $(((EXP_TIME-NOW_TIME)/(60*60*24)))
elseecho "ERROR"exit 1;
fi

http://www.cnblogs.com/itcomputer/p/7192734.html

Linux下如何查看高CPU占用率线程 专题相关推荐

  1. Linux下如何查看高CPU占用率线程

    转于:http://www.cnblogs.com/lidabo/p/4738113.html 目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidst ...

  2. Linux环境下程序的多核CPU占用率高的问题分析和解决

    1.项目问题 前端PDC双目倾斜相机客流统计项目中排查平台服务程序延时大的问题时,平台demo程序测试发现多核cpu中的某个核的占用率达到100%,导致组件中的目标检测线程和客流统计线程的单帧耗时达不 ...

  3. php获取linux是几核的,linux下怎么查看机器cpu是几核的

    linux下怎么查看机器cpu是几核的? linux下查看机器是cpu是几核的 几个cpumore /proc/cpuinfo |grep "physical id"|uniq|w ...

  4. 【Linux下Ubuntu查看电脑cpu和显卡型号信息】

    Linux下Ubuntu查看电脑cpu和显卡型号信息 查看cpu型号终端命令 cat /proc/cpuinfo 输出的model name : 后边即为型号信息 查看显卡型号终端命令 lspci | ...

  5. 关于vmstat,top,ps aux查看的cpu占用率不一致的问题

    问题: 用vmstat,top,和ps aux三个命令查看进程对cpu的占用率,数值差异很大. 例: 用 vmstat 查看系统cpu空闲率, id是cpu的空闲率,可以看出,空闲率一直在73%以上 ...

  6. aux ps 和top_关于vmstat,top,ps aux查看的cpu占用率不一致的问题

    问题: 用vmstat,top,和ps aux三个命令查看进程对cpu的占用率,数值差异很大. 例: 用 vmstat 查看系统cpu空闲率, id是cpu的空闲率,可以看出,空闲率一直在73%以上 ...

  7. Node.js 应用高 CPU 占用率的分析方法

    我们在本地运行 Node.js 应用,使用 --inspect 标志启动应用程序,再次执行负载测试,在 Chrome 浏览器中打开 chrome://inspect: 单击应用下方的 inspect ...

  8. Linux/Android之sar查看IO/CPU占用率

    # sudo apt install sar1.查看内存利用率信息 # sar -r2.CPU 利用率信息 # sar -u3.交换空间利用率信息 # sar -S4.内核表统计信息 # sar -v ...

  9. linux cpu 实际进程,linux – 找出高CPU占用率的apache进程实际上在做什么?

    目前我们的服务器存在一些问题,间歇性地,我们似乎得到了运行和运行的apache进程,占用了100%的CPU. 在运行top时,我们会看到以下内容: PID USER PR NI VIRT RES SH ...

  10. linux apache占用内存过高,linux – 找出高CPU占用率的apache进程实际上在做什么?...

    目前我们的服务器存在一些问题,间歇性地,我们似乎得到了运行和运行的apache进程,占用了100%的cpu. 在运行top时,我们会看到以下内容: PID USER PR NI VIRT RES SH ...

最新文章

  1. java 实现部门树_(java实现)哈夫曼(Huffman)树编码(自编压缩项目基础)
  2. Es-nested嵌入式属性
  3. wps如何自己制作流程图_自己如何制作APP软件
  4. Hibernate-----5、持久化对象
  5. ASP.NET调用Oracle分页存储过程并结合ASPnetpager分页控件 实现分页功能
  6. 2021-2025年中国电气石手镯行业市场供需与战略研究报告
  7. Python 自带性能强悍的标准库 itertools
  8. 华为手机热点无法连接_华为P7手机WLAN热点连接失败解决方法介绍
  9. 单片机数码管显示程序c语言,基于STC89C52单片机的动态数码管显示C语言程序
  10. 人类与计算机之间的围棋,棋圣怒吼:别忽悠我 电脑不可能战胜人类
  11. 为你描绘精确的太极图
  12. 浙江小学python教材_PPT、H5、Python、大数据……浙江中小学新教材9月投用!
  13. virtual box虚拟机软件如何加快虚拟系统中的网速?
  14. 穷爸爸与富爸爸读后感 (1)
  15. 生活流水账(转载老婆的文章)
  16. 用AI技术防止幼儿园虐待儿童,中国研究员研发视频流分析模型
  17. 从零打造一个Web地图引擎
  18. lisp 设计盘形齿轮铣刀_用autolisp设计盘形齿轮铣刀渐开线齿形.doc
  19. Zadig 面向开发者的自测联调子环境技术方案详解
  20. 一万粉的时候,我爬光了我所有的粉丝,只为验证一个事情

热门文章

  1. 智能优化算法:混合蛙跳算法-附代码
  2. 智能优化算法:蜻蜓优化算法-附代码
  3. 普通卷积、转置卷积、空洞卷积(dilated convolution、Atrous Convolution)
  4. linux中安装pip
  5. android实现控件的手势缩放、移动以及双击还原
  6. android 7相机拍照功能介绍,android7 相机拍照流程
  7. java循环隔行变色_c:foreach标签详解----(隔行换背景颜色的问题)
  8. 用正则表达式抓取网络连接的简单实现
  9. Netflix:如何打造开放协作的实时 ETL 平台?
  10. VLC框架总结(一)VLC源码及各modules功能介绍