类别 监控指令 描述 备注

内存

瓶颈

free 查看内存使用  

cpu

瓶颈

top  -Hp 查看cpu使用最高的进程  
  vmstat 3(间隔时间) 100(监控次数) 查看swap in/out定位性能瓶颈 推荐使用
  ps -Lp 进程号 cu 查看某个进程的cpu消耗排序  
 

cat /proc/cpuinfo

|grep 'processor'|wc -l

查看cpu核数  
  top

查看cpu总体消耗,

包括分项消耗

如user,system,idle,

nice等消耗

top

然后shift+h:

显示java线程,

然后shift+M:

按照内存

使用进行排序;

shift+P:

按照cpu时间排序;

shift+T:

按照cpu累计

使用时间排序

多核cpu,

按“1”进入top视图

网络

瓶颈

cat /var/log/messages 查看内核日志,查看是否丢包  
  watch more /proc/net/dev

用于定位丢包,错包情况,

以便看网络瓶颈

重点关注drop(包被丢弃)

和网络包传送的总量,

不要超过网络上限

  netstat -i 查看网络错误  
  ping ip 测试网络性能  

磁盘

瓶颈

iostat -x -k -d 1 磁盘的io读写情况

当看到I/O等待时间所

占CPU时间的比重

很高的时候,

首先要检查的就是机器

是否正在大量

使用交换空间,

同时关注iowait

占比cpu的消耗是否很大,

如果大说明磁盘

存在大的瓶颈,

同时关注await,

表示磁盘

的响应时间

以便小于5ms

  iostat -x 查看系统各个磁盘的读写情况

重点关注await

和iowait的cpu占比

  iotop 查看哪个进程在大量读取IO

一般先通过iostat

查看是否存在io瓶颈,

再定位哪个进程在

大量读取IO

  df -hl 查看磁盘剩余空间  
  du -sh 查看当前磁盘的使用空间  

应用

瓶颈

ps -ef|grep java 查看某个进程的id号  
  ps -ef|grep java|wc -l 查看特定进程的数量  
  netstat -tln|grep 8080 查看端口占用情况  
  lsof -i:8080 查看端口属于哪个进程  
 

cat ***.log | grep ***Exception

| wc -l

统计日志文件中包含特定异常数量  
  jstack -l pid 用于查看线程是否存在死锁  
  grep -v ‘HTTP/1.1″ 200′ 取出非200响应码的URL  
  ps -efL | grep [PID] | wc -l 查看某个进程创建的线程数  
  find / type f -name "*.log"|xargs grep "ERROR"

统计所有的log文件中,

包含Error字符的行

这个在排查问题

过程中比较有用

  jstat -gc [pid] 查看gc情况  
  jstat -gcnew [pid]  

查看young区的内存使用情况,

包括MTT(最大交互次数就

被交换到old区),

TT是目前已经交换的次数

 
  jstat -gcold 查看old区的内存使用情况  
 

jmap -J-d64 -dump:format=b,

file=dump.bin PID

dump出内存快照

-J-d64防止jmap导致

虚拟机crash(jdk6有bug)

  XX:+HeapDumpOnOutOfMemeryError

在java启动时加入,

当出现内存溢出时,

存储内存快照

 
  jmap -histo [pid] 按照对象内存大小排序 注意会导致full gc
  gcore [pid] 导出完成的内存快照

通常和jmap -permstat

/opt/**/java gcore.bin

一起使用,将core dump

转换成heap dump

 

-XX:HeapDumpPath=/home/logs

-Xloggc:/home/log/gc.log

-XX:+PrintGCDetails

-XX:+PrintGCDateStamps

在Java启动参数中加入,

打印gc日志

 
 

-server -Xms4000m -Xmx4000m

-Xmn1500m -Xss256k

-XX:PermSize=340m -XX:MaxPermSize=340m

-XX:+UseConcMarkSweepGC

调整JVM堆大小 xss是栈大小

Linux性能查询常用指令的更多相关文章

  1. Linux基本操作及常用指令

    今天复习了下Linux的基本操作及常用指令,上学期大数据云计算课一直也在用linux系统还是比较熟悉的,并在centos6.7虚拟机上部署了前几天做的web项目,了解了Nginx的反向代理与负载均衡, ...

  2. linux性能优化常用命令

    作为一名linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但是由于硬件问题.软件问题.网络环境等的复杂性 和多变性,导致对系统的优化变得异常复杂,如何定位性能问题出在哪 ...

  3. Linux基础及常用指令

    1.Linux目录结构 bin(usr/bin,user/local/bin) #存放常用指令,如cp.cat.chown等 sbin(usr/sbin,user/local/sbin) #高权限指令 ...

  4. linux下svn常用指令

    windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说.主要说说linux下svn的使用,因为linux下大部分的 ...

  5. [转载]linux下svn常用指令

    一下内容转载于:http://blog.chinaunix.net/space.php?uid=22976768&do=blog&id=1640924.这个总结的很好~ windows ...

  6. Linux下svn常用指令【转】

    转自:http://blog.csdn.net/myarrow/article/details/8110858 Windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态, ...

  7. linux 性能分析常用命令汇总

    CPU性能分析工具: vmstatpssartimestracepstreetop Memory(内存)性能分析工具:vmstatstracetopipcsipcrmcat /proc/meminfo ...

  8. Linux下的常用指令汇总

    内容提纲: 1.ubuntu安装 2.linux目录结构 3.apt.dpkg 4.date.cal.tzselect 5.修改密码.忘记密码 6.注销/重启/关机 7.cd pwd 8.-h --h ...

  9. Linux 100个常用指令

    1.ls 列出目录内容. 文件属性: -:普通文件 d:目录文件 b:块设备 c:字符设备文件 l:符号连接文件 p:命令管道 s:套接字文件 文件权限: 9位数字,每3位一组 文件硬链接次数 文件所 ...

随机推荐

  1. java 8: ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver

    转眼之间, java 11都快要推出了. 而我一直都在 java 7环境下写代码,真的不想升级,不想改变什么,可世界每天都在变化. 最近因为服务端需要SNI,而 java 7 只支持客户端的SNI,只 ...

  2. semantic ui框架学习笔记三

    网格系统 基本网格 <div class="ui grid"> <div class="column"></div> < ...

  3. Android MVP 架构一 View与Presenter

    View:主要负责界面的显示及跟数据无关的逻辑,比如设置控件的点击事件等 Presenter:主要负责View与Model的交互 Model:数据部分 ------- MVP的核心是: View层不持 ...

  4. String类中"=="、equals和普通类中"=="、equals的比较

    package cn.method.demo; public class StringDemo2 { public static void main(String[] args) { String s ...

  5. 基于RBAC模型的权限系统设计(Github开源项目)

    RBAC(基于角色的访问控制):英文名称Rose base Access Controller.本博客介绍这种模型的权限系统设计.取消了用户和权限的直接关联,改为通过用户关联角色.角色关联权限的方法来 ...

  6. C++ vector的运用

    C++ vector 用法(#include <vector>) 标准库Vector类型 使用需要的头文件: #include <vector> Vector:Vector 是 ...

  7. mysql全备份脚本速查

    mysql全备份脚本 # 快捷备份方式[root@nb scripts]# cat db.backup.sh #!/bin/bashmysqldump -ubackup -pbackuppwd -P3 ...

  8. jmeter打开图形化界面时指定代理

    \apache-jmeter-4.0\bin>jmeter -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888 如果不想在每个请求里面指定代理的话可 ...

  9. JSON与XML之间的转换

    public class JsonTest { private final Logger cLogger = Logger.getLogger(getClass()); /** * XML转JSON ...

  10. mybtis 基础

    一.什么是mybatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBati ...