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 [email protected]:/usr/local/software/
下載:
scp [email protected]:/usr/local/software/1.txt .
7. cpu負載很高怎麼查看
-
執行top -c ,顯示進程運行信息列表
-
鍵入P (大寫p),進程按照CPU使用率排序
案例一:CPU利用率100%怎麼排查
第一步:找到最消CPU性能的進程
- top -c
- 鍵入大寫P, 進程按照CPU使用率排序
第二步:查找進程內最耗CPU的線程
- top -Hp pid : 找出進程號爲pid的進程中的所有線程
- 鍵入大寫P,線程按照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情況和加載的Bean
10. 查看內存使用狀況( 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指令
$ cut
-d :分隔符,按列分割
-f :經過 -d 分隔後,使用 -f n 取出第 n 個列
-c :以字符爲單位取出列。 ( ps: cut -c 7- 表示以自負爲單位, 打印從第7列及其之後的字符列
示例 1:last 顯示登入者的信息,取出用戶名。
$ last
root pts/1 192.168.201.101 Sat Feb 7 12:35 still logged in
root pts/1 192.168.201.101 Fri Feb 6 12:13 - 18:46 (06:33)
root pts/1 192.168.201.254 Thu Feb 5 22:37 - 23:53 (01:16)
$ last | cut -d ' ' -f 1
示例 2:將 export 輸出的信息,取出第 12 字符以後的所有字符串。
$ export
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/home/dmtsai"
declare -x HOSTNAME="study.centos.vbird"
.....(其他省略).....
$ export | cut -c 12-
c. sort指令
排序指令:
sort