watch 命令不是一般的有用
JAVA乐园
共 1482字,需浏览 3分钟
·
2022-01-02 14:42
先分享两个对软件开发非常不错的工具
画图工具 https://app.diagrams.net
jvm 内存分享工具 http://www.32r.com/soft/73878.html
watch 可以监测一个命令的运行结果,来监测你想要的一切命令的结果变化
常见命令参数
Usage: watch [-dhntv] [--differences[=cumulative]] [--help] [--interval=] [--no-title] [--version]
-d, --differences[=cumulative] highlight changes between updates
(cumulative means highlighting is cumulative)
-h, --help print a summary of the options
-n, --interval= seconds to wait between updates
-v, --version print the version number
-t, --no-title turns off showing the header turns off showing the header
常见命令展示
每隔一秒高亮显示网络链接数的变化情况
watch -n 1 -d netstat -ant 【-n 设置间隔,-d,difference,高亮显示不同】
watch -d 'ls /home/omd' 【-d 高亮显示】
watch -t 'ls /home/omd' 【-t会关闭watch命令在顶部的时间间隔】
说明: 切换终端:Ctrl+x 退出watch:Ctrl+g
每隔一秒高亮显示http链接数的变化情况
watch -n 1 -d 'pstree|grep http'
实时查看模拟攻击客户机建立起来的连接数
watch -n 1 -d 'netstat -an | grep "21" | egrep "192.168.25.100"| wc -l'
监测当前目录中 scf' 的文件的变化
watch -d 'ls -l|grep scf'
10秒一次输出系统的平均负载
watch -n 1 -d "uptime"
实际应用场景
在排查线上系统性能瓶颈时,监控 jvm 的堆栈就可以使用 watch 命令。
jps 命令查下出 java 服务的进程号
jps
如图
jstack 监控 jvm 的堆栈信息
虽然可以使用 jstack 可以监控 jvm 的线程堆栈信息,但是不能动态监控;这时 watch 命令就可以派上用场了
watch 实时监控 jvm 线程堆栈
watch -n 1 "jstack 13671"
另外,还可以使用 grep 命令进行内容刷选
watch -n 1 "jstack 13671 | grep RUNNING"
喜欢,在看
评论