一、查找java日志的linux命令(假设日志文件为test.log)
1.关键字搜索
less -n test.log,+/关键字
2.查找到的关键字高亮显示
cat test.log | grep -C '关键字' --color
3.将按关键字查找到的日志的尾部30行输入到text.txt文件(适合超大的日志文件)
grep -C 30 '关键字' test.log | tail -n 30 > text.txt
二、其他常用linux命令
1.两个服务器之间传输文件夹,其中root为目标服务器172.25.62.93用户名
scp -r ./jdk1.8.0_141 root@172.25.62.93:/usr/java
2.两个服务器之间启用压缩传输
scp -C ./jdk1.8.0_141 root@172.25.62.93:/usr/java
3.查看端口8000 占用情况
lsof -i:8000
4.查看进程号为38765的堆信息
jmap -heap 38765
5.分析进程号为2745 的线程等待,死锁问题
jstack 2745
6.查看进程号38765为环境变量和虚拟机参数
jinfo 38765
7.查看java进程
jps
8.查看机器启动时间,登录用户,平均负载
uptime
9.查看jdk建议堆内存设置
java -XX:+PrintCommandLineFlags -version
10.查看文件大小
ls -lh
11.从根目录开始查找
find / -name test
12.统计总数
cat travel-hotel-data-2019-09-16-* | grep '开始批量处理exec' | wc -l
三、添加linux定时任务
1.新建一个执行脚本del.sh
find /data/logs/test -mtime +0 -name "*log*" -exec rm -f {} \;#删除一天前的日志(不含当天)
2.赋予执行权限,对当前目录下的del.sh文件的所有者增加可执行权限。
chmod u+x del.sh
3.进入自己的crontab文件,添加定时任务
vi /var/spool/cron/root #进入linux系统定时任务目录,添加以下命令
30 0 * * * /usr/local/test/del.sh #半个小时执行一次删除命令
4. 查看用户的定时任务列表
crontab -l
四、top命令
1. top命令用于实时显示 process 的动态。
top
注意:
- 上图中有两个地方显示%cpu,但是这个两个地方的含义是不一样的。
- 第一处的%cpu(s) 33.1 us 指的是用户空间占用cpu的百分比,是一个平均值,比较有参考意义。
- 第二处的%cpu138.9指的是用户进程占用一个核数的百分比,可能会大于100%,但不会超过核数*100%。
- 网络上很多文章把第二种cpu超过100%误认为用户占用cpu超过100%,来调优其实是不对的。
五、磁盘清理相关命令
1.查看系统磁盘的使用情况
df -h
2.从根目录查找大于100M的文件
find / -type f -size +100M
find / -size +20M -size -300M
3.查看当前目录下各个文件及目录占用空间大小
du -sh *
六、curl命令
1.post请求:
curl -i -X POST -H "token:travel-hotel-data" -d '{"channel":4,"inOutCountry":"2"}' http://172.25.35.223:9701/query/hotelIds
2.get请求:
curl http://172.25.55.129:9701/static/outer/derby/getRateCodeRules
七、http压测工具之wrk
1.10个线程50个并发连接
wrk -t 10 -c 50 -d 10s http://www.baidu.com --latency