&背景工作做符
ctrl+ z 暫停
ctrl + c 停止
jobs [-l(list) , r(running jobs) ,-s(stop jobs)] 觀察背景工作的狀態(tài)
fg %jobnumber 將背景工作拿到前景執(zhí)行
bg %jobnumber 讓工作在背景的狀態(tài)變成運(yùn)作中(被ctrl暫停在背景的工作)
=========================================================
kill -l ===>列出q能夠使用的signal有哪些
常用的kill的signal
-1 重新讀取一次參數(shù)的排位置文件(類似reload)
-2 與ctrl的的i一樣
-9 立即強(qiáng)制停止一個(gè)工作( .filename.swap 文件會(huì)被遺在系統(tǒng)中)
-15 正常停止一個(gè)工作
kill signal PID或者[%jobnumber] (給該進(jìn)程發(fā)送一天命令)
====================================
上面的求導(dǎo)背景中去的工作都是你登陸是派生出來的子孫進(jìn)程,在退出登陸后勁不能繼續(xù)執(zhí)行了
脫機(jī)管理
如果工作需要很長(zhǎng)時(shí)間,你不能直到它執(zhí)行完才下機(jī),可以用at來處理, at是將工作放置到系統(tǒng)背景下,而與終端機(jī)無(wú)關(guān)
====================
程序管理
找出最耗系統(tǒng)的程序
找出內(nèi)存中又問題的程序
設(shè)置程序的優(yōu)先級(jí)
程序的觀察
ps 將某個(gè)時(shí)間點(diǎn)得進(jìn)程運(yùn)作情況獲取下來
ps 不加-a 或者-A參數(shù)僅僅列出與自己相關(guān)的process信息
aux 觀察系統(tǒng)中所有進(jìn)程的數(shù)據(jù)
-A 所有process都顯示出來 與-e一樣
-a 不與terminal有關(guān)的所有程序
-u 有效使用者(effective user )的相關(guān)process
-l 列出叫詳細(xì)的信息,包括pid
===============================================
[root@Sweety /]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 2685 2683 0 80 0 - 27117 wait pts/1 00:00:00 bash
4 S 0 3232 1 0 80 0 - 27050 wait pts/1 00:00:00 mysqld_safe
4 R 0 3647 2685 0 80 0 - 27033 - pts/1 00:00:00 ps
F : 代表這個(gè)程序的旗標(biāo)(flag) ,說明這個(gè)程序的總結(jié)權(quán)限
4代表root
S: 代表程序的狀態(tài)
R(Running)
S(sleep)
T(stop)
Z(Zombie)
C: 代表Cup的使用率
ADDR(address) : 是kernel function 指出程序在內(nèi)存中的那個(gè)部分如果是running的程序,一般會(huì)顯示 -
SZ (size) : 程序用掉的內(nèi)存
WCHAN : 表示程序是否在運(yùn)行中 - 表示正在運(yùn)行
TIME+: 使用的cpu累加時(shí)間
CMD : 觸發(fā)進(jìn)程的命令
RSS : 進(jìn)程占用固定內(nèi)存的大小
=================================================
top: 動(dòng)態(tài)觀察程序的變化
-d 數(shù)字 動(dòng)態(tài)更新的時(shí)間差
-b : 以批次的方式執(zhí)行top(通常搭配重定向和-n使用)
-n : 與-b一起使用, 意義是需要執(zhí)行幾次top 輸出的結(jié)果
-p 進(jìn)程的pid : 觀察指定pid的進(jìn)程
top在執(zhí)行過程中可以使用按鍵
? : 顯示可以在top中輸入的按鍵指令
P : 以cpu占用率排序(默認(rèn))
M: 以Memory的使用排序
N: 以pid來排序
T : 以該process占用的cpu積累時(shí)間排序
r : 給PID重新定一個(gè)nice值 (按下r 然后輸入要修改的pid號(hào)碼)
1 : 切換查看不同cpu的負(fù)載率
q : 離開
=====================================================
pstree
-u : 同時(shí)列出每個(gè)process的PID
-p : 同時(shí)列出每個(gè)process的所屬賬號(hào)
======================================================
priority 和nice
PRI值是有核心動(dòng)態(tài)調(diào)整的用戶無(wú)法直接調(diào)整PRI的值;如果用戶想調(diào)整PRI 的值,就得透過nice的值,一般來說,PRI和NI 的相關(guān)性如下
PRI(new) = PRI(old) + nice(可以是-20~19之間)
不過,如果原本餓PRI得值是50 ,并不是我們給一個(gè)nice=5 就會(huì)讓PRI變成55 ,因?yàn)镻RI是系統(tǒng)動(dòng)態(tài)決定的,nice的值可以影響PRI,但最終的PRI值仍是要經(jīng)過系統(tǒng)分析后才決定的;(nice的值有正負(fù) 鄭表示降低優(yōu)先級(jí),符表示增加優(yōu)先級(jí))
一般用戶只可以調(diào)整自己的process的nice值,且只能調(diào)高nice的值
調(diào)整process的優(yōu)先級(jí)就是調(diào)整process的nice值
如何調(diào)整某個(gè)程序的nice值
1一開始執(zhí)行程序就給予一個(gè)特定的nice值: 用nice指令
nice -n 數(shù)值 命令(啟動(dòng)程序的命令)
-n 后面接一個(gè)數(shù)值 (-20~ 19)
2已經(jīng)存在的進(jìn)程的nice重新調(diào)整(或者top) : renice
renice 數(shù)值(需要調(diào)整到餓nice值) PID(調(diào)整的process的PID)
==========================================================
我們可以使用top觀察到很多的系統(tǒng)資源和狀態(tài),還有其他的一些工具也可以查看系統(tǒng)資源
free [-m 以M為單位顯示]
===========================================================
uname : 查看系統(tǒng)的核心相關(guān)信息
-a : all 所有
-s : 系統(tǒng)核心名(Linux)
-r : 核心版本 ( 2.6.32-358.el6.x86_64 )
-p : cpu類型 ( x86_64 )
-i : 硬件平臺(tái) (x86_64)
==========================================================
uptime : 觀察系統(tǒng)啟動(dòng)時(shí)間與負(fù)載工作 (其實(shí)酒紅色顯示出top命令的第一行)
==========================================================
netstat : 追蹤網(wǎng)絡(luò)或插槽文件
-a : 所有
-t : 列出tcp網(wǎng)絡(luò)封包的數(shù)據(jù)
-u : 列出UDP蒸包的數(shù)據(jù)
-l : 列出目前正在監(jiān)聽的服務(wù)
-p 顯示PID
==========================================================
------第一部分----相關(guān)字段意義----------
proto : 網(wǎng)絡(luò)封包協(xié)議 ,主要為tcp何udp
Recv-Q : 由非遠(yuǎn)程主機(jī)鏈接到此socket的復(fù)制的中bytes數(shù)
Send-Q : 非遠(yuǎn)程主機(jī)傳送過來的acknowledged 總bytes數(shù)
Local Address : 本地端的IP:port情況
Foreign Adresses :遠(yuǎn)程主機(jī)的IP:Port情況
state : 聯(lián)機(jī)狀態(tài) ,主要有建立(ESTABLISHED) 和監(jiān)聽(LISTEN)
/proc/* 代表的意義
進(jìn)程都是在內(nèi)存中的,而內(nèi)存當(dāng)中的數(shù)據(jù)有都是寫到/proc/*這個(gè)目錄下的,所以我們可以直接觀察/proc這個(gè)目錄當(dāng)中的檔案
==========================================================
fuser: 找出正在使用該檔案的程序
有時(shí)候我們想知道一個(gè)程序在這次啟動(dòng)過程中到底開啟了多少檔案,可以利用fuser來擦看
example : fuser -uvm /proc ==>查看偶遇多少程序在進(jìn)行/proc文件系統(tǒng)的存取
===========================================================
lsof : 列出被程序開啟的檔案文件名
===========================================================
pidof : 列出某個(gè)正在執(zhí)行的程序的pid
pidof [-sx] program_name
-s : 僅列出一個(gè)PID而不是列出所有
-x : 同時(shí)列出program name 可能的PPID 那個(gè)程序的PID