如何處理最好資源的「耗子」程序?

2021-10-24 21:28:07 字數 2992 閱讀 7231

如何處理最好資源的「耗子」程序?

(1) 程序管理

程序:①程式的一次執行過程

① 資源分配和管理的基本單位

程序管理的內容:

① 如何監視程序獲取當前系統中各個程序的具體狀態資訊。

② 調整程序執行的優先。

③ 守護程序。

(1)監視程序

1.與程序有關的資訊

2.程序監視命令

① ps命令

功能:報告程序的相關資訊。

格式:ps [選項]

② top命令

功能:以實時的方式報告程序的相關資訊

格式:top [選項]

③ pstree命令

功能:顯示程序家族樹的資訊

格式:pstree [選項] [程序pid/使用者名稱]

④ lsof命令

功能:列出由某程序所開啟的檔案

格式:lsof [選項] [檔案或目錄路徑]

3.程序與訊號

①kill命令

功能:向特定程序傳送某種訊號

格式:kill [選項] [-訊號名稱/編號][pid列表]

②linux系統中部分常用的訊號

(1)程序的優先順序

1.程序的優先順序pri:是作業系統在程序排程時用於判決程序是否能夠獲得cpu的一句之一。

2.程序的優先順序越高,著越能在競爭中勝出而獲得cpu的時間

3.以乙個整數來表達的,數字越低,優先順序越高。

4.每個破銅的程序的優先順序預設位80

(2)程序的謙讓度

1.程序的謙讓度:表示程序對cpu時間要求的迫切程度。

2.取值範圍:-20~19.

3.程序的謙讓度為負數時,反映程序對cpu資源的要求較為迫切。

一般來說:優先順序與謙讓度存在如下關係:

pri(new)=pri(old)+nice

說明:① root使用者可以調整自己和其他使用者的程序的nice值,且範圍為-20~19;

② 普通使用者只能調整自己程序的nice值,為了避免破銅使用者搶占系統資源,nice的調整範圍為0~19.而且只能往高調整。

nice命令

功能:設定要啟動的程序的謙讓度

格式:nice [選項] 命令

主要選項:

-n(nice)數值:設定謙讓度,數值的範圍-20~19.

2.renice命令

功能:調整已存在的程序nice值

格式:renice –n 謙讓度 程序pid號

四. 守護程序與系統服務

(1)程序的型別

1.系統程序:作業系統啟動後,系統環境平台所載入的程序。

2.使用者程序:與終端相關聯,是由使用者所執行的程序。

3.守護程序:在後台執行的程序,優勢也稱為服務。它沒有螢幕提示,只是在後台等待使用者或系統的請求。

(2)centos7/phel7版本:

1.systemd程序取代init程序;

2.init程序的配置檔案/etc/inittab保留,但是內容改變,原來的功能也不再使用

3.targets取代runlevels

(3)centos5/phel5版本:cat/etc/inittab

系統執行級

執行級別 說明

(4)centos7/phel7版本:runlevels被targets取代

1.獲得預設啟動的target:systemctl get-default

2.設定系統預設啟動的target:systemctl get-default

例項1: systemctl get-default multi-user.target //修改為多使用者字元狀態

例項2: systemctl get-default graphical.target //修改為圖形介面

3. centos7仍保持使用靜態的執行級別來構建不同的啟動狀態。

(5)系統服務管理常用的命令:

1.runlevel命令:

功能:用於顯示系統當前的和上一次的執行級別,入系統不存在上一次的執行級別,用n來代替。

格式:runlevel

2. init命令

功能:轉換服務的執行級別

格式:init[n];其中格式中的n為0~6的級別,轉換級別後系統立即生效。

3. systemctl系統服務管理

① 檢視系統服務啟動狀態。其格式:

systemctl list-unit-files–type service#列出所有讀物,並且檢查是否開機啟動。

② 列出所有處於啟用狀態的服務,其格式為:

systemctl list-unit-files–type service –all

其中:unit:服務名

load:服務是否已經被載入

active:服務活動狀態

description:服務的描述

sub:服務程序狀態

③ 服務狀態控制,其格式:

systemctl [status/start/stop/retart/reload] name.service

④ 服務開機自啟動控制,其格式:

systemctl [enable/disable] name.service

設定crond.service服務為開機自動啟動。

systemctl enable crond.service

搜尋cord服務在系統中是否開機啟動。

systemctl list –unit-files –type service|grep crond

挖礦程序如何處理

說明 挖礦程式一般有主程序和守護程序組成,有些還會通過crontab來啟動定時任務 排查過程 進入挖礦主程序的proc檔案下檢視程序基本資訊,可檢視到程序的執行路徑 cwd檔案 可執行程式所在的路徑 exe fd資料夾下會有網路相關的資訊,一般如此即可發現很多資訊 檢視crontab有無異常情況 檢...

如何處理Linux中的殭屍程序defunct

我們知道,每個unix程序在程序表裡都有乙個進入點 entry 核心程式執行該程序時使用到的一切資訊都儲存在進入點。當用ps命令察看系統中的程序資訊時,看到的就是程序表中的相關資料。當以fork 系統呼叫建立乙個新的程序後,核心程序就會在程序表中給這個新程序分配乙個進入點,然後將相關資訊儲存在該進入...

遊戲開發如何處理美術資源和程式分支?

遊戲開發如何處理美術資源和程式分支比較好?程式策劃美術協作需要版本管理工具,做過端遊手遊,知道全用svn的,美術用alien brain程式用perforce的,美術用svn程式用git的,還有全git的,但遇到美術資源要往版本分支提交或合併回來時總沒有優雅的方案,總會有痛點,尤其在git flow...