linux查看java运行日志,Linux下查看日志用到的经常使用命令
tail -n 10 test.log 查询日志尾部最后10行的日志;正则表达式
tail -n +10 test.log 查询10行以后的全部日志;less
head: tcp
跟tail是相反的,tail是看后多少行日志;例子以下:工具
head -n 10 test.log 查询日志文件中的头10行日志;ui
head -n -10 test.log 查询日志文件除了最后10行的其余全部日志;spa
cat: debug
tac是倒序查看,是cat单词反写;例子以下:日志
cat -n test.log |grep "debug" 查询关键字的日志
2. 应用场景一:按行号查看---过滤出关键字附近的日志
1)cat -n test.log |grep "debug" 获得关键日志的行号
2)一般查找出错误日志 cat error.log | grep 'nick' , 这时候咱们还有个需求就是输出当前这个日志的先后几行:
cat error.log | grep -B 5 'nick' 显示nick及前5行
cat error.log | grep -A 5 'nick' 显示nick及后5行
cat error.log | grep -C 5 'nick' 显示file文件里匹配nick字串那行以及上下5行
cat error.log | grep -n -B10 -A10 5 'nick' 显示file文件里匹配nick字串先后10行
3. 应用场景二:选取日志中特定范围进行分析
1)cat -n test.log |tail -n +1000|head -n 20 从第1000行开始,显示20行
tail -n +1000表示查询1000行以后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
2)cat catalina.out | head -n 1400| tail -n +1350 显示1350行到1400行 (实现原理都差很少,就是经过语法糖)
(1)按日期截取 :通常在日志系统中都会记录打印日志的时间,一般咱们很是须要查找指定时间端的日志:
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特别说明:该命令中的两个日期值必须是日志文件中包含的值,不然该命令无效.; 先 grep '2014-12-17 16:17:20' test.log 来肯定日志中是否有该 时间点
(2)按行数截取
sed -n ‘10000,20000p’ test.log
sed -i '/关键词/d' catalina.out 删除包含关键词的行 4.应用场景三:日志内容特别多,打印在屏幕上不方便查看
(1)使用more和less命令,
如: cat -n test.log |grep "debug" |more 这样就分页打印了,经过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时能够拉下这个文件分析
如:cat -n test.log |grep "debug" >debug.txt
5:使用管道进行and or条件处理
and 使用管道实现 例如: grep -n '日志排查' test.log | grep '日志'
or 用-E 例如:grep -n -E '日志排查|hello' test.log 知足两个关键字的均可以找出来
6:如何看查占用cpu最多的进程?
方法一
核心指令:ps
实际命令:
ps H -eo pid,pcpu | sort -nk2 | tail
执行效果以下:
[work@test01 ~]$ ps H -eo pid,pcpu | sort -nk2 | tail
31396 0.6
31396 0.6
31396 0.6
31396 0.6
31396 0.6
31396 0.6
31396 0.6
31396 0.6
30904 1.0
30914 1.0
结果:
瞧见了吧,最耗cpu的pid=30914。
画外音:其实是31396。
方法二
核心指令:top
实际命令:
top
Shift + t
7:找到了最耗CPU的进程ID,对应的服务名是什么呢?
方法一
核心指令:ps
实际命令:
ps aux | fgrep pid
执行效果以下:
[work@test01 ~]$ ps aux | fgrep 30914
work 30914 1.0 0.8 309568 71668 ? Sl Feb02 124:44 ./router2 –conf=rs.conf
结果:
瞧见了吧,进程是./router2
画外音: grep 和fgrep的区别?
二者都是搜索工具,但功能上有区别。
1,首先,grep支持的是标准正则表达式。
2,fgrep,不支持正则表达式,只用于匹配固定字符串。
因此后者要比前者速度快,固然同时后者的搜索功能要弱于前者。
方法二
直接查proc便可。
实际命令:
ll /proc/pid
执行效果以下:
[work@test01 ~]$ ll /proc/30914
lrwxrwxrwx 1 work work 0 Feb 10 13:27 cwd -> /home/work/im-env/router2
lrwxrwxrwx 1 work work 0 Feb 10 13:27 exe -> /home/work/im-env/router2/router2
画外音:这个好,全路径都出来了。
8:如何查看某个端口的链接状况?
方法一
核心指令:netstat
实际命令:
netstat -lap | fgrep port
执行效果以下:
[work@test01 ~]$ netstat -lap | fgrep 22022
tcp 0 0 10.58.xxx.29:22022 *:* LISTEN 31396/imui
tcp 0 0 10.58.xxx.29:22022 10.58.xxx.29:46642 ESTABLISHED 31396/imui
tcp 0 0 10.58.xxx.29:22022 10.58.xxx.29:46640 ESTABLISHED 31396/imui
方法二
核心指令:lsof
实际命令:
lsof -i :port
执行效果以下:
[work@test01 ~]$ /usr/sbin/lsof -i :22022
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
router 30904 work 50u IPv4 69065770 TCP 10.58.xxx.29:46638->10.58.xxx.29:22022 (ESTABLISHED)
router 30904 work 51u IPv4 69065772 TCP 10.58.xxx.29:46639->10.58.xxx.29:22022 (ESTABLISHED)
router 30904 work 52u IPv4 69065774 TCP 10.58.xxx.29:46640->10.58.xxx.29:22022 (ESTABLISHED)
linux查看java运行日志,Linux下查看日志用到的经常使用命令相关推荐
- linux 卸载java jdk1.6_linux下查看已经安装的jdk 并卸载jdk
一.查看Jdk的安装路径: whereis java which java (java执行路径) echo $JAVA_HOME echo $PATH 备注:如果是windows中,可以使用: set ...
- linux查看java虚拟机内存_JVM:查看java内存情况命令
jmap (linux下特有,也是很常用的一个命令) 观察运行中的jvm物理内存的占用情况. 参数如下: -heap :打印jvm heap的情况 -histo: 打印jvm heap的直方图.其输出 ...
- linux 实时 网口 速率_linux 下查看网卡工作速率-阿里云开发者社区
[root@hadoop058 ~]# mii-tool eth0: negotiated 100baseTx-FD, link ok 100M linux 下查看网卡工作速率 Ethtool是用于查 ...
- linux系统在pe下查看ip地址,pe下查看原系统ip的方法_网站服务器运行维护
linux查看php环境是否安装_网站服务器运行维护 linux查看php环境是否安装的方法:1.执行[find / -name php.ini]命令,查看系统是否有php的配置文件:2.执行[net ...
- linux查看java进程_linux中查看java进程
linux中查看java进程 查看进程可以使用 ps -ef|grep 'java -jar' ps -ef|grep java [root@vm-linux-x86 ~]# ps -ef|grep ...
- linux查看存储阵列,AIX系统下查看磁盘阵列
AIX系统下查看磁盘阵列 [日期:2012-07-08] 来源:Linux社区 作者:Linux [字体:大 中 小] 在AIX中DISK ARRAY的相关设备是用如下AIX设备名来表现的: 连接一台 ...
- 查看linux系统版本centos,CentOS下查看系统版本的4种方法
Linux有很多的发行版,不同的版本会有一些细微区别,所以经常需要查看服务器系统的版本号. 下面来看下CentOS下如何查看CentOS版本. 方法1:cat /etc/issue 执行命令:[www ...
- Linux运维:CentOS7下查看内存占用
文章目录 查看主机信息 查看操作系统信息 查看Linux系统版本 查看物理CPU个数和型号 查看单个物理CPU核心数 查看逻辑CPU个数 查看内存信息 查看内存情况 查看内存剩余情况 内存使用排序取前 ...
- Linux:批量清空当前目录下的日志文件
2019独角兽企业重金招聘Python工程师标准>>> 在Linux中,有时需要批量清空当前目录中的日志文件,同时还要保留日志文件. 其实一行shell命令就可以搞定,一起来看看吧. ...
最新文章
- 我的天,你工作5年了,连Java agent都不知道...
- Nat. Med. | 人工智能临床研究新指南
- IOS使用Instrument-Time Profiler工具分析和优化性能问题
- arraylist删除指定元素_面试官:谈谈常用的Arraylist和Linkedlist的区别
- java中获取时间6,Java中获取指定日为星期几及其他日期操作(2)
- Openlayers中使用Cluster+Overlay实现点击单个要素和聚合要素时显示不同弹窗
- 计算机视觉与深度学习 | TensorMask: A Foundation for Dense Object Segmentation(何凯明团队新作)近5年目标检测综述
- 2022年十大科技应用趋势 | 万字报告PDF
- nginx https http2
- 为什么在子类中不重写超类的实例变量
- 建立简单的VLAN通信
- vue通过webpack打包后怎么运行
- dp动态规划_最短路径累加和最大问题
- iOS开发之企业级账号的使用注意的坑
- php一句话跨域,php跨域怎么解决
- VC2012编译protobuf出错处理
- 未来大数据的主要应用领域包括哪些
- 周鸿祎:很多人不缺情商智商但缺“胆商”
- Python 用Ursina引擎制作一个3D迷宫游戏
- JAVA出现警告无法读取 AppletViewer 属性文件的解决方法