df -h 查看/opt使用情况
du -s /opt/logs/* | sort -rn 查看当前目录占用最大的文件,显示占用最大为logs文件。
ls -lrt | grep log 按照日志修改时间从远到近排序
ls -lht 列出文件及大小
ls -al 查看隐藏文件
find . -size +100M | xargs ls -l 找出大于100M的文件。
echo ''> xxxx.log 清理日志(使用rm清理,空间不会释放,需要重启)
lsof | grep deleted 查看删除文件未释放的进程
history | grep rm 查看rm操作记录
sed -n '/2018-08-03 16:10:/,/2018-08-03 16:30:/p' std.log |grep 'exception=true' |wc -l 统计数
grep -E '123|abc' filename 或操作,找出含有123或abc的日志
grep pattern1 files | grep pattern2 显示既匹配 pattern1 又匹配 pattern2 的行
netstat -nultp 查看当前所有已经使用的端口情况
netstat -anp |grep 端口号
jps Java Virtual Machine Process Status Tool 查看进程信息;
jps -l 列出所有java进程的入口
ps -ef|grep java jps有时查不出java进程,用ps指令搜索一下试试
jps -v 查看jvm参数
jstat -gc pid 查看老年代新生代等情况
jstat -gcnew pid 新生代情况
jmap -heap pid 查看进程堆内存使用情况
jstack 258 > gz.txt 保存线程快照
定位CPU飙高问题
①top pid 查看cpu耗CPU进程
②top -Hp pid 查看该进程所有线程的运行情况,找到占用 CPU 过高的线程 pid
③ printf %x pid 打印出 pid 的 16 进制值(jstack 命令结果中的线程 ID 为 nid,且用 16 进制表示)
④ jstack -l pid |grep nid 命令查看线程快照,根据上一步得到的16 进制值(一般是0x开头)找到具体的线程,就能知道这个进程在执行什么代码了
date -d "(awk -F. '{print 1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S" 查看机器启动时长
/usr/local/jdk1.8.0_231/bin/jmap -dump:format=b,file=dump0323 377 dump命令