最近在将SpringBoot项目上线部署到Ubuntu服务器中测试,常用以下终端操作命令,不时更新:
-
启动SpringBoot程序后台运行,不在终端显示:nohup java -jar XXX.jar &
-
查看控制台日志: cat nohup.out(程序在后台运行时,默认把控制台输入放入当前文件夹下的nohup.out文件中)
-
查看nohup.out文件中的倒数XX行:tail -fn XX(行数) nohup.out
-
清除当前文件夹下的nohup.out文件,以免占用内存过多:cp /dev/null nohup.out
-
(该命令会删掉当前nohup.out文件并新建一个空nohup.out文件)
-
查看系统端口占用状态:netstat -ap;
-
查看系统磁盘占用状态: df -h
-
删除某个jar包:rm XX.jar
-
XShell中导入(传输)某个jar包到当前文件夹中:rz 打开文件目录,点击传输
-
强制删除某个线程:kill -9 PID(线程ID)
-
查询某个端口的连接数:netstat -nat|grep -i "8082"|wc -l(以8082端口为例)
-
查看进程的CPU占用率:ps -aux --sort -pcpu | more
-
定位有问题的线程可以用:ps -mp pid -o THREAD,tid,time|more
-
查看Java进程的每个线程的CPU占用率:ps -Lp pid cu | more(pid为要查找的java进程)
-
追踪线程,查看负载过高的原因:jstack pid(pid是该所属进程)