1. 测试端口是否能连通
telnet ip port
ssh -v -p port username@ip
(-v表示是debug模式)curl ip:port
2. 远程登陆会话
- 指令:ssh
- SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
远程登陆ssh username@ip
3. 检测本机的端口网络连接情况
- 指令:netstat
- 检测本机的端口连接情况,可以使用netstat
netstat -ano | grep port
4. 查看某个进程的情况
- 指令: ps
- 查看某个进程的情况
ps -ef | grep pid
5. 管道 + 正则匹配
- 指令:
指令
| grep正则表达式
grep ‘pattern‘ file
pattern为正则匹配字符串,file为输入文件
最常用的是配合管道来一起使用,即前一个指令的输出作为输入,然后用正则过滤,例如上面的ps -ef
就列出了所有的进程,然后 使用’|’ 作为管道连接字符,作为grep pid的输入, 就找到了指定pid的进程信息。
6. 服务器上传 / 下载文件
- 指令:scp
scp [可选参数] file_source file_target
从服务器上下载或上传文件.
上传:scp ./1.txt root@xx.xx.xx.xx:/usr/local/software/
下载:scp root@xx.xx.xx.xx:/usr/local/software/1.txt .
7. cpu负载很高怎么查看
执行top -c ,显示进程运行信息列表
键入P (大写p),进程按照CPU使用率排序
案例一:CPU利用率100%怎么排查
第一步:找到最消CPU性能的进程
第三步:转换线程ID
- printf “%x/n” thread_id
第四步:定位Java进程中cpu占用率高的线程
jstack pid | grep thread_id_hex -A 需要打印的行数
下面是查看 14505进程中 “main”线程
Java相关指令
8. 打印出Java正在运行的进程
- 指令:jps
- 可以知道启动了哪些进程,对应的进程号
9. 图形化查看内存,线程等信息
- 指令:jconsole
- 连接对应的进程:
- 连接后的界面:
可以查看内存(GC情况),线程,类,JVM情况和加载的Bean10. 查看内存使用状况( jstat )
- jstat -gc pid
- 用的比较少,需要用到就百度吧..
11. 分析Java线程的状况
- 指令:jstack thread_id
- 打印对应线程的运行情况
12. 把当前java进程的状态给dump下来,或查看内存信息
1. dump下来
- 指令:jmap -dump:file=xxx pid (xxx是dump的文件名)
- dump下来之后,需要用专门的工具来查看这个文件,有专门查看这类文件的可视化工具
2. 查看内存信息
- 指令:jmap -heap pid
13. 强大的监控图形界面
升级版jconsole, 并且能手动GC,并且可以手动直接dump,可以查看dump出来的dump文件! 很强大。
- 指令:jvisualvm
一个JVM参数,当出现OOM时,自动进行dump
- 指令: -XX:+HeapDumpOnOutOfMemoryError
补充
a. 在指定文件夹下查询指定文件
指令:find base_dir -f file_name
这里的file_name是可以使用正则来匹配的,比如 *.txt
b. cut指令
1 | $ cut |
示例 1:last 显示登入者的信息,取出用户名。
1 | $ last |
示例 2:将 export 输出的信息,取出第 12 字符以后的所有字符串。
1 | $ export |
c. sort指令
排序指令:
sort