1. 程式人生 > >linux系統監控與硬盤分區/格式化/文件系統管理

linux系統監控與硬盤分區/格式化/文件系統管理

時間 運行 輸入 -c 進程pid 死循環 running ddl 變慢

1.系統監控

1) 系統監視和進程控制的工具----> Top 與 free 類似於windows的資源管理器。

進程運行的三種狀態:

技術分享

tips:

進程(Process)是計算機中的程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。

解釋僵屍進程與孤兒進程:

可參考博客:http://blog.csdn.net/l953972252/article/details/51399576

僵屍進程:一個進程使用fork創建子進程,如果子進程退出,而父進程並沒有調用wait或waitpid獲取子進程的狀態信息,那麽子進程的進程描述符仍然保存在系統中。這種進程稱之為僵死進程。 特點:占用進程PID號,無法被釋放,影響系統資源。

孤兒進程:孤兒進程:一個父進程退出,而它的一個或多個子進程還在運行,那麽那些子進程將成為孤兒進程。孤兒進程將被init進程(進程號為1)所收養,並由init進程對它們完成狀態收集工作。 特點:不占用系統資源,因為被系統最終回收。

僵屍進程的處理
得出結論,孤兒進程不會占資源,僵屍進程會占用資源危害系統。我們應當避免僵屍進程的出現。
解決辦法如下:
1)通過信號機制
  子進程退出時向父進程發送SIGCHILD信號,父進程處理SIGCHILD信號。調用wait()或者waitpid(),讓父進程阻塞等待僵屍進程的出現,處理完在繼續運行父進程。
2)殺死父進程
當父進程陷入死循環等無法處理僵屍進程時,強制殺死父進程,那麽它的子進程,即僵屍進程會變成孤兒進程,由系統來回收。
3)重啟系統
當系統重啟時,所有進程在系統關閉時被停止,包括僵屍進程,開啟時init進程會重新加載其他進程。

TOP命令查看系統狀態:

技術分享

cpu利用率:上一天班的時間是8個小時,而碼農敲代碼的時間為2個小時,2/8=0.25 ,25%就是碼農在一天的時間內的利用率(正常情況,cpu利用率<70%)

cpu負載:公司在一分鐘內為某個碼農安排了3個任務,而1分鐘內該碼農能做6個任務,那麽該碼農一分鐘內的負載為0.5

cpu負載<=1:能正常應付

cpu負載>1:超負荷運轉

Tasks: 29 total 進程總數
1 running 正在運行的進程數
28 sleeping 睡眠的進程數
0 stopped 停止的進程數
0 zombie 僵屍進程數
Cpu(s): 0.3% us 用戶空間占用CPU百分比
1.0% sy 內核空間占用CPU百分比
0.0% ni 用戶進程空間內改變過優先級的進程占用CPU百分比
98.7% id 空閑CPU百分比
0.0% wa 等待輸入輸出的CPU時間百分比
0.0% hi 硬件中斷占用CPU時間的百分比
0.0% si 軟件中斷占用CPU時間的百分比

free命令顯示內存的使用狀態:(下圖以centos7為例)

技術分享

CPU的利用率=(total—Available)/Available

---buffer 寫緩存,數據存儲時,先保存到磁盤緩沖區,然後再寫入到永久空間

---cache 讀緩存,數據從磁盤讀出後,暫留在緩沖區,預備程序接下來的使用

內存其實就相當於向外分buffer與cache來供CPU與硬盤進行使用;

當我們在寫入數據並進行保存時,我們的cache數據量會極大的提高,這是因為在保存在硬盤的同時還緩存在了內存裏面,方便用戶的再次使用,以免來回調用硬盤數據導致速度變慢《運行速度:CPU>內存>硬盤》.不過我們可以利用如下(1)命令釋放該數據所占用的cache空間,但我們不能完全釋放cache空間,因為部分系統文件受保護.

(1).釋放被系統cache占用的系統數據:

echo 3>/proc/sys/vm/drop_caches 

需要註意的是,free表示的是當前完全沒有被程序使用的內存;而cache在有需要時,是可以被釋放出來以供其它進程使用的(當然,並不是所有cache都可以釋放,比如當前被用作ramfs的內存)。而available才真正表明系統目前可以提供給應用程序使用的內存。

2)系統進程中的監控ps

1>父進程與子進程:當一個進程創建另一個進程時,第1個進程被稱為新進程的父進程,而新進程被稱為子進程。

2>掌握ps命令的功能:用來顯示當前進程的狀態。
Ps –aux 顯示所有的與用戶相關的完整信息
系統中進程的監控pstree、kill

centos7默認沒有pstree,需要yum -y install psmisc

1)pstree 命令 ;以樹狀圖顯示程序

用法:例如PID為789的進程的進程樹狀命令為: pstree 789

kill 命令 ; 把一個信號發送給一個或多個進程,默認發送終止信號。

用法:終止PID為3852的進程的命令:kill 3852

kill -9 ;殺死PID為3906的進程的命令:kill -9 3906

pgrep命令; 通過名稱或其他屬性查找進程

用法: 查找名為firefox的進程的命令為:pgrep firefox

pkill命令; 通過名稱或其他屬性發信號給進程

用法:殺死名為firefox的進程的命令為:pkill firefox

2.硬盤分區與格式化(詳細見有道雲筆記)

3.文件系統管理

linux系統監控與硬盤分區/格式化/文件系統管理