先总结下常用的一些监控工具:

##linux命令

  • w

系统负载

  • lsof -p pid

进程打开的文件

  • lsof -i:port

端口的运行情况

  • free -m

内存情况

  • vmstat

进程、内存、内存分页、堵塞IO、traps及CPU活动的信息

  • iostat

磁盘io情况

  • top -n 1

cpu/负载/内存等使用情况.

  • iotop

磁盘io

  • ps aux | sort -k6nr | head -n 10

查看linux 实际内存占用最多的10个

  • ps aux | sort -k5nr | head -n 10

查看linux 虚拟内存占用最多的10个

  • dstat -lamps

查看系统整体状况

  • pstree -al pid|head -n 1

查看进程启动命令

  • strace -T -p pid

查看进程系统调用.开销很大,使用时要小心.

  • netstat

netstat -an |grep port 查看端口连接情况

netstat -alnp |grep pid 通过pid查看进程所有端口情况

  • ss -lntp |grep port

通过端口查看进程

  • nmon

强大的监控工具.也可以方便的出报表.我一般用来在压力测试时监控系统性能.

  • latencytop

用于查看系统内部慢.以前做mysql性能优化,多亏有这东东.

  • cat /proc/pid/status |grep Threads

查看进程内线程个数

##java工具

  • jvisualvm

jvm的运行情况/各种dump的分析都可以干,没有JRMC牛.oracle承诺会把JRockit的特性迁移到HotSpot上面来.现在jdk下已经有jmc了.

  • jps -lv

查看所有java进程.

  • jinfo -sysprops pid

查看java进程系统参数

  • jinfo -flag jvmflag pid

查看jvm flag.比如查看xss,jinfo -flag ThreadStackSize pid

  • jstack pid

查看线程栈信息

  • jmap -dump:live,format=b,file=xxx.hprof pid

生成heap dump

  • jmap -histo pid

查看java堆中对象统计信息

  • java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal

查看jvm flag

    The first column appears to reflect the data type of the option (intx, uintx, uint64_t, bool, double, ccstr, ccstrlist). The second column is the name of the flag and the third column is the value, if any, that the flag is set to.  The fourth column appears to indicate the type of flag and has values such as {product},{pd product}, {C1 product} for client or {C2 product} for server, {C1 pd product} for client or {C2 pd product} for server, {product rw}, {diagnostic} (only if -XX:+UnlockDiagnosticVMOptions was specified), {experimental}, and {manageable}. See Eugene Kuleshov's The most complete list of -XX options for Java 6 JVM for a brief description of most of these categories as well as a listing of most of these options themselves.

  • tda

线程栈分析器,这个是jvisualvm的插件.

  • mat

基于eclipse的heap dump分析工具,这个工具是比jvisualvm在heap分析这块专业.不过jvisualvm能cover住大多数场景,基本上我都只用jvisualvm了.

  • jmap -heap pid

检查heap情况

  • GCViewer

GC日志分析

  • jstat -gcutil pid

查看gc总体情况

    S0  — Heap上的 Survivor space 0 区已使用空间的百分比    S1  — Heap上的 Survivor space 1 区已使用空间的百分比    E   — Heap上的 Eden space 区已使用空间的百分比  O   — Heap上的 Old space 区已使用空间的百分比   P   — Perm space 区已使用空间的百分比     YGC — 从应用程序启动到采样时发生 Young GC 的次数    YGCT– 从应用程序启动到采样时 Young GC 所用的时间(单位秒)   FGC — 从应用程序启动到采样时发生 Full GC 的次数     FGCT– 从应用程序启动到采样时 Full GC 所用的时间(单位秒)    GCT — 从应用程序启动到采样时用于垃圾回收的总时间(单位秒)

  • btrace

神器,线上出问题了,想知道某个方法的调用情况,入参之类的,就靠btrace了. 此工具大致原理如下:

  1. btrace-client attach 目标进程(com.sun.tools.attach.VirtualMachine#attach)
  2. 加载agent btrace-agent (com.sun.tools.attach.VirtualMachine#loadAgent)
  3. agent启动服务端,开启监听端口
  4. brace-client 把编译好的用户btrace代码发送到服务端,并等待服务端响应
  5. btrace-agent 通过asm修改运行时代码,织入用户btrace代码逻辑.监控到信息后,发给btrace-client

转载于:https://www.cnblogs.com/wangdaijun/p/5973600.html

linux 监控命令相关推荐

  1. linux 监控报文命令 nc,linux监控命令nc用法

    一.nc命令检测端口的用法 # nc -v -w 10 %IP% -z %PORT% -v 显示指令执行过程. -w 设置等待连线的时间. -u 表示使用UDP协议 -z 使用0输入/输出模式,只在扫 ...

  2. Linux 监控命令

    linux下监控命令 top.uptime.free 统计相关命令 stat.dstat ifstat.iostat netstat.nicstat mpstat.pidstat.vmstat lso ...

  3. linux监控命令详解

    在日常工作中,系统管理员所做的工作大多都是监控服务器,处理服务器故障,因此掌握几个常用的监控命令是我们的重中只重,下面我为大家罗列了几条常用的监控命令及选项希望对各位朋友能够有所帮助. ps:静态查看 ...

  4. linux终端显示被覆盖,图文说明:Linux监控命令全覆盖

    原文出处: 凌风的博客   欢迎分享原创到伯乐头条 1.1 top 1.1.1 命令说明 Top 命令能够实时监控系统的运行状态,并且可以按照cpu.内存和执行时间进行排序 1.1.2 参数说明 命令 ...

  5. linux 监控命令iostat,Linux下 IO实时监控iostat命令详解

    Linux系统中的iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况.同v ...

  6. linux 监控命令行输入,监控 Linux 容器性能的命令行神器

    ctop是一个新的基于命令行的工具,它可用于在容器层级监控进程.容器通过利用控制器组(cgroup)的资源管理功能,提供了操作系统层级的虚拟化环境.该工具从cgroup收集与内存.CPU.块输入输出的 ...

  7. Linux 监控命令 iostat

    命令详解 Linux系统中的iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视.它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用 ...

  8. Linux监控命令之 top

    top 简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如 ...

  9. Linux监控命令之==sar

    一.使用说明 sar 是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情况.磁盘I/O.CPU效率.内存使用状况.进程活动及 ...

最新文章

  1. 标准访问控制列表配置(51cto: 实验 34)
  2. 前台线程和后台线程(Foreground and Background Threads)
  3. 关于SAP Spartacus Routing 页面上下文切换机制的实现
  4. pycharm上传代码到github
  5. 【LeetCode笔记】438. 找到字符串中所有字母异位词(Java、字符串、滑动窗口)
  6. win10创建新账户_win10系统卸载自带应用软件的操作方法
  7. lotus 的几个常用公式(转帖)
  8. [转]Spring注解-@Configuration注解、@Bean注解以及配置自动扫描、bean作用域
  9. Andorid AlertDialog 点击后自动消失_为何孙悟空成佛后,金箍儿就会自动消失?金箍儿究竟代表什么...
  10. 20190820 On Java8 第十章 接口
  11. NFine框架学习使用
  12. ui设计app设计风格有哪些?ui设计app界面设计流程是什么?
  13. commitizen和cz-customizable配置git commit message
  14. 电商网站产品结构数据库设计
  15. colorAccent,colorPrimary,colorPrimaryDark……来这里你就明白了
  16. 60分钟吃掉嘎嘣脆的DeepCross模型
  17. bcdedit编辑启动项 禁用数字签名
  18. untiy的http请求
  19. moles-packer_Hashicorp的Packer-是否适合PHP开发人员?
  20. 【soft6星评论】伯俊软件借用中台撬动新一轮互联网化

热门文章

  1. 【机器视觉】机器视觉光源详解
  2. 【机器视觉】 measure_thresh算子
  3. python绘制正态分布函数_学好正态分布有多重要?
  4. 安卓蓝牙键盘按键映射_多设备无缝切换 雷柏XK100无线蓝牙轻薄键盘评测
  5. js 获取元素,同级元素下的子元素总结
  6. 1035 插入与归并 (25 分)(c++)
  7. 盛最多水的容器—leetcode11
  8. 关于hibernate的关联外键生成以及外键属性列的正确插入即:解决外键插入时,在关联表中除了外键列为空,其它属性均正常级联保存
  9. 一个机器学习博士的忠告
  10. 贪心/动态规划 - 摆动序列