基礎操作
#建立使用者名稱xiaoming 將密碼設定為123456
useradd -ou 0 xiaoming -g 0
echo '123456' | passwd --stdin xiaoming
#記憶體資源過大手動釋放
sync
echo 3 >/proc/sys/vm/drop_caches
# 檔案操作
# 檢視資料夾個數
ls -l|grep "^d"| wc -l
# 檢視當前檔案數量
ls -l|grep "^-"| wc -l
檔案設定許可權防止誤刪
# 新增許可權防止誤刪
chattr +i authorized_keys
# 去掉許可權防止誤刪
chattr -i authorized_keys
磁碟容量
df -lh
filesystem 容量 已用 可用 已用% 掛載點
/dev/hda8 11g 6.0g 4.4g 58% /
/dev/shm 236m 0 236m 0% /dev/shm
/dev/sda1 56g 22g 35g 39% /mnt/sda1
#當前分割槽情況檢視
fdisk -l
#顯示scsi硬碟的每個分割槽情況
fdisk -lu
#檢視當前檔案目錄
ls -lht
#大檔案檢視
sudo du -h --max-depth=1|grep g
#檢視opt檔案有多少大於1g的
find /opt -type f -size +1g
記憶體檢視
# 檢視剩餘可用記憶體情況(m)
free -m
# 檢視記憶體消耗前5的程序
ps auxw | head -1;ps auxw|sort -rn -k4|head -5
# 記憶體釋放
sync
echo 3 >/proc/sys/vm/drop_caches
redis操作
#redis集群連線
redis-cli -h 192.168.1.2 -p 7001 -c --raw
#單例項連線
redis-cli -h 192.168.1.2 -p 7001 -c --raw
#查詢集群單例項所有keys為「hellowork」值的
./redis-cli -h 192.168.1.2 -p 7001 -c --scan --pattern "hellowork:*" | wc -l
#刪除集群單例項所有keys為「hellowork」值的
redis-cli -h 192.168.1.2 -p 7001 -c --scan --pattern "hellowork:*" | xargs -n 1 redis-cli -h 192.168.1.2 -p 7001 del
# redis 批量刪除(一次刪除5000)
redis-cli -h 192.168.1.2 -p 8443 -a test --scan --pattern "guids*" | xargs -l 5000 redis-cli -h 192.168.1.2 -p 8443 -a test del
# 查詢所有key
scan 0 match * count 2741099
# 所有key匯出
echo "scan 0 match * count 2741099" | redis-cli -h 127.0.0.1 -p 8598 >1.txt
軟連線
#軟連線檢視
ls -li
#軟連線切換
ln -sfn newaddress linkname
#建立軟連線
ln -s /data/kafka /kafka
檔案類操作
# 切割檔案從第1行-174929行 原始檔userinfo_13.txt 寫入到userinfo_01.txt
sed -n '1,174929p' userinfo_13.txt > userinfo_01.txt
# error.2019-08-01.log 日誌中重複的數字將寫到 lance444.txt 檔案中
awk 'a[$0]++' error.2019-08-01.log >> lance444.txt
dstat 命令
--total-cpu-usage---- cpu使用率
usr:使用者空間的程式所佔百分比;
sys:系統空間程式所佔百分比;
idel:空閒百分比;
wai:等待磁碟i/o所消耗的百分比;
hiq:硬中斷次數;
siq:軟中斷次數;
--dsk/total-------- 磁碟統計
read:讀總數
writ:寫總數
--net/total--------- 網路統計
recv:網路收包總數
send:網路發包總數
---paging------- 記憶體分頁統計
in: pagein(換入)
out:page out(換出)
--system-------- 系統資訊
int:中斷次數
csw:上下文切換
注:中斷(int)和上下文切換(csw)。這項統計僅在有比較基線時才有意義。這一欄中較高的統計值通常表示大量的程序造成擁塞,需要對cpu進行關注。你的伺服器一般情況下都會執行執行一些程式,所以這項總是顯示一些數值。
### 常用引數組合
dstat --disk-util :顯示某一時間磁碟的忙碌狀況
dstat --freespace :顯示當前磁碟空間使用率
dstat --proc-count :顯示正在執行的程式數量
dstat --top-bio :指出塊i/o最大的程序
dstat --top-cpu :圖形化顯示cpu占用最大的程序
dstat --top-io :顯示正常i/o最大的程序
dstat --top-mem :顯示占用最多記憶體的程序
# 記憶體top統計
dstat -g -l -m -s --top-mem
# cpu top 統計
dstat -c -y -l --proc-count --top-cpu
儲存類問題定位
# 磁碟出現瓶頸檢視當前目錄下各個資料夾大小
du -h --max-depth=1
# 檢視某個資料夾下超過1g大小檔案
sudo find /workspace -type f -size +1g
# 快速生成指定大小檔案
dd if=/dev/zero of=test bs=1m count=20000
網路類問題定位
tpc層面問題定位
# tpc 連線數檢視
netstat -n | awk '/^tcp/ end '
網路類問題監控
### 每個程序的頻寬使用
nethogs
### 每個套接字連線的頻寬使用
iftop
埠類問題定位
# 根據埠號反推程序號
lsof -i :8080
netstat -antup |grep 8080
控制代碼數類問題監控
### 統計各程序開啟控制代碼數
lsof -n|awk ''|sort|uniq -c|sort -nr
### 統計各使用者開啟控制代碼數
lsof -n|awk ''|sort|uniq -c|sort -nr
### 統計各命令開啟控制代碼數
lsof -n|awk ''|sort|uniq -c|sort -nr
### 單個程序開啟的控制代碼數 grep 後面跟pid (不推薦使用)
lsof -n|awk ''|sort|uniq -c|sort -nr|more|grep 22229
問題分析:
1、開啟檔案未釋放
2、開啟管道未釋放
3、建立網路連線未釋放(pipe,eventpoll多出現在 nio 網路程式設計未釋放資源 —— selector.close())
4、建立程序呼叫命令未釋放(runtime.exe(...) 得到的 process, inputstream, outputstream 未關閉,這也會導致 pipe,eventpoll 未釋放)
5、mina庫使用nio時未使用connector.dispose();
6、netty3庫使用nio時未使用bootstrap.shutdown() 或bootstrap.releaseexternalresources();
netty4使用nio時未使用 eventloopgroup.shutdowngracefully();
### 服務端啟動
iperf3 -s
### 客戶端啟動
iperf3 -c 192.168.131.254 -i1 -t 1200
linux 下常用命令
linux 下根據內容查詢檔案 同時包含 keyword1 和 keyword2 的檔案 find name type f print xargs grep keyword1 grep keyword2 linux下根據程序名稱殺死程序 ps ef grep 程序名 grep v grep cut ...
linux下常用命令
1 程序顯示命令 顯示所有的程序 ps a 顯示所有的程序詳細資訊 ps al 顯示終端中的資訊 ps a 動態顯示程序資訊 top 以樹狀形式顯示程序資訊 pstree less 退出用q 顯示更詳細的資訊 ps aux或者ps ef 備註 後台程式不受終端退出影響,前台程式則要隨著終端退出而退出...
Linux下常用命令
linux下的命令實在太多,光靠找男人有時候一點都不好使,還是記一下好!一 壓縮與解壓縮命令 使用gzip程式壓縮 tar xvfz tar.gz c 使用gzip程式解壓到 目錄 tar cvfj tar.bz2 jpg 使用bzip2程式壓縮 tar xvfj tar.bz2 c 使用bzip2...