程序管理:
pstree作用是以程序樹的形式顯示程序
例如:pstree 8123 顯示程序名不顯示各個程序號
pstree -p 8123 顯示程序名稱及各級程序的程序號
ps作用是顯示當前所有執行程序的詳細資訊
例如:ps aux 顯示所有包含其他使用者的行程
ps -aux
選項:a :顯示包括所有終端中的程序
x :選項包括不鏈結終端的程序
u :選項顯示程序所有者的資訊
f :選項顯示程序樹,相當於--forest
k|--sort:對屬性排序,屬性前面加-表示倒序
o :屬性..選項顯示定製的資訊pid、cmd、%cup、%mem
l :顯示支援的屬性列表
輸出屬性介紹:
vsz:虛擬記憶體集,線性記憶體
rss:常駐記憶體集
stat:程序狀態
r:running
s: interruptable sleeping
d: uninterruptable sleeping
t: stopped
z: zombie
+: 前台程序
l: 多執行緒程序
l:記憶體分頁並帶鎖
n:低優先順序程序
<: 高優先順序程序
s: session leader,會話(子程序)發起者
ni: nice值
pri: priority 優先順序
psr: processor cpu編號
rtprio: 實時優先順序
例項:(1)查詢自己擁有的所有程序
ps -x
(2)顯示指定使用者名稱或者使用者id的程序
ps -fu apache
ps -fu 48
(3)顯示指定服務名,正在被那個終端使用
ps -c bash
(4)檢視程序的pid,ppid,使用者名稱和命令
ps -eo pid,ppid,user,cmd
(5)查詢占用最多記憶體和cpu的程序
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
uptme顯示當前時間,系統已啟動的時間、當前上線人數、系統平均負載(1、5、10 分鐘的平均負載,一般不會超過1)
top命令:
p:以佔據的cpu百分比,%cpu
m:佔據記憶體百分比,%mem
t:累積佔據cpu時長,time+
首部資訊顯示:
uptime資訊:l命令
tasks及cpu資訊:t命令
cpu分別顯示:1 (數字)
memory資訊:m命令
退出命令:q
修改重新整理時間間隔:s
終止指定程序:k
儲存檔案:w
%cpu:us:使用者空間
sy:核心空間
ni:調整nice時間
id:空閒
wa:等待io時間
hi:硬中斷
si:軟中斷
st:虛擬機器偷走的時間
列屬性解釋:
pid — 程序id
user — 程序所有者
pr — 程序優先順序
ni — nice值。負值表示高優先順序,正值表示低優先順序
virt — 程序使用的虛擬記憶體總量
res — 程序使用的、未被換出的物理記憶體大小
shr — 共享記憶體大小,單位kb
s — 程序狀態。d=不可中斷的睡眠狀態 r=執行 s=睡眠 t=跟蹤/停止 z=殭屍程序
%cpu — 上次更新到現在的cpu時間占用百分比
%mem — 程序使用的物理記憶體百分比
time+ — 程序使用的cpu時間總計,單位1/100秒
command — 程序名稱(命令名/命令列)
free命令:檢視記憶體使用情況
free -h 已讀格式
vmstat 命令:顯示虛擬記憶體資訊
vmstat 2 5 每2秒重新整理一次,共5次
命令顯示列解釋:
procs列:
r:可執行(正執行或等待執行)程序的個數,和核心數有關
b:處於不可中斷睡眠態的程序個數(被阻塞的佇列的長度)
memory:
swpd: 交換記憶體的使用總量
free:空閒物理記憶體總量
buffer:用於buffer的記憶體總量
cache:用於cache的記憶體總量
swap:
si:從磁碟交換進記憶體的資料速率(kb/s)
so:從記憶體交換至磁碟的資料速率(kb/s)
io列bi:表示由塊裝置讀入資料的總量,即讀磁碟,單位kb/s
bo:表示寫到塊裝置資料的總量,即寫磁碟,單位kb/s
system:
in: interrupts 中斷速率,包括時鐘
cs: context switch 程序切換速率
iostat命令:統計cpu和磁碟裝置的io資訊
iostat 1 5 每一秒更新一次、共5次
iftop 命令:顯示寬頻使用情況,需要自主安裝(epel源)
可通過此命令檢視當前是否有人在通過網路攻擊本主機
pmap命令:程序對應的記憶體對映
pmap 1 :跟程序號加 -x 更加詳細
dstat 工具:監視cpu、記憶體、swap、磁碟使用率
iotop命令: 用來監視磁碟i/o使用狀況 (顯示更加詳細 相對於 iostat)
第一行:read和write速率總計
第二行:實際的read和write速率
第三行:執行緒id(按p切換為程序id)、 優先順序、 使用者、
磁碟讀速率 、磁碟寫速率、 swap交換百分比 、
io等待所佔的百分比、 執行緒/程序命令
lsof命令:檢視當前系統檔案的工具
-a:列出開啟檔案存在的程序
-c《程序名》:列出指定程序所開啟的檔案
-g:列出gid號程序詳情
-d《檔案號》:列出占用該檔案號的程序
+d《目錄》:列出目錄下被開啟的檔案
+d《目錄》:遞迴列出目錄下被開啟的檔案
例:lsof -c bash 列出指定程式正在使用的檔案
lsof /dev/pts1 檢視登入使用者啟動而非系統啟動的程序
lsof -p 9999(pid) 檢視指定程序號的程序開啟的檔案
lsof -u user 檢視指定使用者開啟的檔案
kill命令:
常用訊號:man 7 signal 或者 kill -l
1)sighup 無須關閉程序而讓其重讀配置檔案
2)sigint 中止正在執行的程序;相當於ctrl+c
3)sigquit 相當於ctrl+\
9) sigkill 強制殺死正在執行的程序
15)sigterm 終止正在執行的程序
18)sigcont 繼續執行
19)sigstop 後台休眠
kill -s signal pid 傳送指定訊號到pid
killall命令:按服務名稱傳送資訊
killall [-signal] 服務名
pkill命令:
-signal
-u uid: effective user,生效者
-u uid: real user,真正發起執行命令者
-t terminal: 與指定終端相關的程序
-l: 顯示程序名(pgrep可用)
-a: 顯示完整格式的程序名(pgrep可用)
守護程序管理工具
1.文字程序管理工具 ntsysv是乙個使用者管理自動執行的守護程序的文字使用者介面工具。2.命令列介面 cli 工具 可以使用chkconfig命令檢查,設定系統的各種服務。此命令實際上是通過操作 etc rc 0 6 d目錄下的符號鏈結檔案對系統的各種服務進行管理。chkconfig命令具有如下...
程序管理工具Supervisord
在 web 應用部署到線上後,需要保證應用一直處於執行狀態,在遇到程式異常 報錯等情況,導致 web 應用終止時,需要保證程式可以立刻重啟,繼續提供服務。所以,就需要乙個工具,時刻監控 web 應用的運 況,管理該程序。supervisor 就是解決這種需求的工具,可以保證程式崩潰後,重新把程式啟動...
Supervisor 程序管理工具
supervisor是乙個用 python 寫的程序管理工具,可以很方便的用來啟動 重啟 關閉程序 不僅僅是 python 程序 除了對單個程序的控制,還可以同時啟動 關閉多個程序,比如很不幸的伺服器出問題導致所有應用程式都被殺死,此時可以用 supervisor 同時啟動所有應用程式而不是乙個乙個...