freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

shell實(shí)例手冊(cè)(編輯修改稿)

2025-07-22 22:18 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 意義 k %CPU 上次更新到現(xiàn)在的CPU時(shí)間占用百分比 l TIME 進(jìn)程使用的CPU時(shí)間總計(jì),單位秒 m TIME+ 進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒 n %MEM 進(jìn)程使用的物理內(nèi)存百分比 o VIRT 進(jìn)程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES p SWAP 進(jìn)程使用的虛擬內(nèi)存中,被換出的大小,單位kb。 q RES 進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA r CODE 可執(zhí)行代碼占用的物理內(nèi)存大小,單位kb s DATA 可執(zhí)行代碼以外的部分(數(shù)據(jù)段+棧)占用的物理內(nèi)存大小,單位kb t SHR 共享內(nèi)存大小,單位kb u nFLT 頁(yè)面錯(cuò)誤次數(shù) v nDRT 最后一次寫入到現(xiàn)在,被修改過(guò)的頁(yè)面數(shù)。 w S 進(jìn)程狀態(tài)。 D=不可中斷的睡眠狀態(tài) R=運(yùn)行 S=睡眠 T=跟蹤/停止 Z=僵尸進(jìn)程 x COMMAND 命令名/命令行 y WCHAN 若該進(jìn)程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名 z Flags 任務(wù)標(biāo)志,參考 } 列出正在占用swap的進(jìn)程{ !/bin/bash echo e PID\t\tSwap\t\tProc_Name 拿出/proc目錄下所有以數(shù)字為名的目錄(進(jìn)程名是數(shù)字才是進(jìn)程,其他如sys,net等存放的是其他信息) for pid in `ls l /proc | grep ^d | awk 39。{ print $9 }39。| grep v [^09]` do 讓進(jìn)程釋放swap的方法只有一個(gè):就是重啟該進(jìn)程?;蛘叩绕渥詣?dòng)釋放。放 如果進(jìn)程會(huì)自動(dòng)釋放,那么我們就不會(huì)寫腳本來(lái)找他了,找他都是因?yàn)樗麤](méi)有自動(dòng)釋放。 所以我們要列出占用swap并需要重啟的進(jìn)程,但是init這個(gè)進(jìn)程是系統(tǒng)里所有進(jìn)程的祖先進(jìn)程 重啟init進(jìn)程意味著重啟系統(tǒng),這是萬(wàn)萬(wàn)不可以的,所以就不必檢測(cè)他了,以免對(duì)系統(tǒng)造成影響。 if [ $pid eq 1 ]。then continue。fi grep q Swap /proc/$pid/smaps 2/dev/null if [ $? eq 0 ]。then swap=$(grep Swap /proc/$pid/smaps \ | gawk 39。{ sum+=$2。} END{ print sum }39。) proc_name=$(ps aux | grep w $pid | grep v grep \ | awk 39。{ for(i=11。i=NF。i++){ printf(%s ,$i)。 }}39。) if [ $swap gt 0 ]。then echo e ${pid}\t${swap}\t${proc_name} fi fi done | sort k2 n | awk F39。\t39。 39。{ pid[NR]=$1。 size[NR]=$2。 name[NR]=$3。 } END{ for(id=1。id=length(pid)。id++) { if(size[id]1024) printf(%10s\t%15sKB\t%s\n,pid[id],size[id],name[id])。 else if(size[id]1048576) printf(%10s\t%\t%s\n,pid[id],size[id]/1024,name[id])。 else printf(%10s\t%\t%s\n,pid[id],size[id]/1048576,name[id])。 } }39。 } linux操作系統(tǒng)提供的信號(hào){ kill l 查看linux提供的信號(hào) trap echo aaa 2 3 15 shell使用 trap 捕捉退出信號(hào) 發(fā)送信號(hào)一般有兩種原因: 1(被動(dòng)式) +c會(huì)發(fā)送SIGINT信號(hào) 2(主動(dòng)式) 通過(guò)系統(tǒng)調(diào)用kill來(lái)向指定進(jìn)程發(fā)送信號(hào) 進(jìn)程結(jié)束信號(hào) SIGTERM 和 SIGKILL 的區(qū)別: SIGTERM 比較友好,進(jìn)程能捕捉這個(gè)信號(hào),根據(jù)您的需要來(lái)關(guān)閉程序。在關(guān)閉程序之前,您可以結(jié)束打開的記錄文件和完成正在做的任務(wù)。在某些情況下,假如進(jìn)程正在進(jìn)行作業(yè)而且不能中斷,那么進(jìn)程可以忽略這個(gè)SIGTERM信號(hào)。 如果一個(gè)進(jìn)程收到一個(gè)SIGUSR1信號(hào),然后執(zhí)行信號(hào)綁定函數(shù),第二個(gè)SIGUSR2信號(hào)又來(lái)了,第一個(gè)信號(hào)沒(méi)有被處理完畢的話,第二個(gè)信號(hào)就會(huì)丟棄。 SIGHUP 1 A 終端掛起或者控制進(jìn)程終止 SIGINT 2 A 鍵盤終端進(jìn)程(如control+c) SIGQUIT 3 C 鍵盤的退出鍵被按下 SIGILL 4 C 非法指令 SIGABRT 6 C 由abort(3)發(fā)出的退出指令 SIGFPE 8 C 浮點(diǎn)異常 SIGKILL 9 AEF Kill信號(hào) 立刻停止 SIGSEGV 11 C 無(wú)效的內(nèi)存引用 SIGPIPE 13 A 管道破裂: 寫一個(gè)沒(méi)有讀端口的管道 SIGALRM 14 A 鬧鐘信號(hào) 由alarm(2)發(fā)出的信號(hào) SIGTERM 15 A 終止信號(hào),可讓程序安全退出 kill 15 SIGUSR1 30,10,16 A 用戶自定義信號(hào)1 SIGUSR2 31,12,17 A 用戶自定義信號(hào)2 SIGCHLD 20,17,18 B 子進(jìn)程結(jié)束自動(dòng)向父進(jìn)程發(fā)送SIGCHLD信號(hào) SIGCONT 19,18,25 進(jìn)程繼續(xù)(曾被停止的進(jìn)程) SIGSTOP 17,19,23 DEF 終止進(jìn)程 SIGTSTP 18,20,24 D 控制終端(tty)上按下停止鍵 SIGTTIN 21,21,26 D 后臺(tái)進(jìn)程企圖從控制終端讀 SIGTTOU 22,22,27 D 后臺(tái)進(jìn)程企圖從控制終端寫 缺省處理動(dòng)作一項(xiàng)中的字母含義如下: A 缺省的動(dòng)作是終止進(jìn)程 B 缺省的動(dòng)作是忽略此信號(hào),將該信號(hào)丟棄,不做處理 C 缺省的動(dòng)作是終止進(jìn)程并進(jìn)行內(nèi)核映像轉(zhuǎn)儲(chǔ)(dump core),內(nèi)核映像轉(zhuǎn)儲(chǔ)是指將進(jìn)程數(shù)據(jù)在內(nèi)存的映像和進(jìn)程在內(nèi)核結(jié)構(gòu)中的部分內(nèi)容以一定格式轉(zhuǎn)儲(chǔ)到文件系統(tǒng),并且進(jìn)程退出執(zhí)行,這樣做的好處是為程序員提供了方便,使得他們可以得到進(jìn)程當(dāng)時(shí)執(zhí)行時(shí)的數(shù)據(jù)值,允許他們確定轉(zhuǎn)儲(chǔ)的原因,并且可以調(diào)試他們的程序。 D 缺省的動(dòng)作是停止進(jìn)程,進(jìn)入停止?fàn)顩r以后還能重新進(jìn)行下去,一般是在調(diào)試的過(guò)程中(例如ptrace系統(tǒng)調(diào)用) E 信號(hào)不能被捕獲 F 信號(hào)不能被忽略 } 系統(tǒng)性能狀態(tài){ vmstat 1 9 r 等待執(zhí)行的任務(wù)數(shù)。當(dāng)這個(gè)值超過(guò)了cpu線程數(shù),就會(huì)出現(xiàn)cpu瓶頸。 b 等待IO的進(jìn)程數(shù)量,表示阻塞的進(jìn)程。 swpd 虛擬內(nèi)存已使用的大小,如大于0,表示機(jī)器物理內(nèi)存不足,如不是程序內(nèi)存泄露,那么該升級(jí)內(nèi)存。 free 空閑的物理內(nèi)存的大小 buff 已用的buff大小,對(duì)塊設(shè)備的讀寫進(jìn)行緩沖 cache cache直接用來(lái)記憶我們打開的文件,給文件做緩沖,(把空閑的物理內(nèi)存的一部分拿來(lái)做文件和目錄的緩存,是為了提高 程序執(zhí)行的性能,當(dāng)程序使用內(nèi)存時(shí),buffer/cached會(huì)很快地被使用。) inact 非活躍內(nèi)存大小,即被標(biāo)明可回收的內(nèi)存,區(qū)別于free和active a選項(xiàng)時(shí)顯示 active 活躍的內(nèi)存大小 a選項(xiàng)時(shí)顯示 si 每秒從磁盤讀入虛擬內(nèi)存的大小,如果這個(gè)值大于0,表示物理內(nèi)存不夠用或者內(nèi)存泄露,要查找耗內(nèi)存進(jìn)程解決掉。 so 每秒虛擬內(nèi)存寫入磁盤的大小,如果這個(gè)值大于0,同上。 bi 塊設(shè)備每秒接收的塊數(shù)量,這里的塊設(shè)備是指系統(tǒng)上所有的磁盤和其他塊設(shè)備,默認(rèn)塊大小是1024byte bo 塊設(shè)備每秒發(fā)送的塊數(shù)量,例如讀取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO過(guò)于頻繁,需要調(diào)整。 in 每秒CPU的中斷次數(shù),包括時(shí)間中斷。in和cs這兩個(gè)值越大,會(huì)看到由內(nèi)核消耗的cpu時(shí)間會(huì)越多 cs 每秒上下文切換次數(shù),例如我們調(diào)用系統(tǒng)函數(shù),就要進(jìn)行上下文切換,線程的切換,也要進(jìn)程上下文切換,這個(gè)值要越小越好,太大了,要考慮調(diào)低線程或者進(jìn)程的數(shù)目,例如在apache和nginx這種web服務(wù)器中,我們一般做性能測(cè)試時(shí)會(huì)進(jìn)行幾千并發(fā)甚至幾萬(wàn)并發(fā)的測(cè)試,選擇web服務(wù)器的進(jìn)程可以由進(jìn)程或者線程的峰值一直下調(diào),壓測(cè),直到cs到一個(gè)比較小的值,這個(gè)進(jìn)程和線程數(shù)就是比較合適的值了。系統(tǒng)調(diào)用也是,每次調(diào)用系統(tǒng)函數(shù),我們的代碼就會(huì)進(jìn)入內(nèi)核空間,導(dǎo)致上下文切換,這個(gè)是很耗資源,也要盡量避免頻繁調(diào)用系統(tǒng)函數(shù)。上下文切換次數(shù)過(guò)多表示你的CPU大部分浪費(fèi)在上下文切換,導(dǎo)致CPU干正經(jīng)事的時(shí)間少了,CPU沒(méi)有充分利用。 us 用戶進(jìn)程執(zhí)行消耗cpu時(shí)間(user time) us的值比較高時(shí),說(shuō)明用戶進(jìn)程消耗的cpu時(shí)間多,但是如果長(zhǎng)期超過(guò)50%的使用,那么我們就該考慮優(yōu)化程序算法或其他措施 sy 系統(tǒng)CPU時(shí)間,如果太高,表示系統(tǒng)調(diào)用時(shí)間長(zhǎng),例如是IO操作頻繁。 id 空閑 CPU時(shí)間,一般來(lái)說(shuō),id + us + sy = 100,一般認(rèn)為id是空閑CPU使用率,us是用戶CPU使用率,sy是系統(tǒng)CPU使用率。 wt 等待IOCPU時(shí)間。Wa過(guò)高時(shí),說(shuō)明io等待比較嚴(yán)重,這可能是由于磁盤大量隨機(jī)訪問(wèn)造成的,也有可能是磁盤的帶寬出現(xiàn)瓶頸。 如果 r 經(jīng)常大于4,且id經(jīng)常少于40,表示cpu的負(fù)荷很重。 如果 pi po 長(zhǎng)期不等于0,表示內(nèi)存不足。 如果 b 隊(duì)列經(jīng)常大于3,表示io性能不好。 } } 日志管理{ history 歷時(shí)命令默認(rèn)1000條 HISTTIMEFORMAT=%Y%m%d %H:%M:%S 讓history命令顯示具體時(shí)間 history c 清除記錄命令 cat $HOME/.bash_history 歷史命令記錄文件 last 查看登陸過(guò)的用戶信息 who /var/log/wtmp 查看登陸過(guò)的用戶信息 lastlog 用戶最后登錄的時(shí)間 lastb a 列出登錄系統(tǒng)失敗的用戶相關(guān)信息 /var/log/btmp 登錄失敗二進(jìn)制日志記錄文件 tail f /var/log/messages 系統(tǒng)日志 tail f /var/log/secure ssh日志 } selinux{ sestatus v 查看selinux狀態(tài) getenforce 查看selinux模式 setenforce 0 設(shè)置selinux為寬容模式(可避免阻止一些操作) semanage port l 查看selinux端口限制規(guī)則 semanage port a t _port_t p tcp 8000 在selinux中注冊(cè)端口類型 vi /etc/selinux/config selinux配置文件 SELINUX=enfoceing 關(guān)閉selinux 把其修改為 SELINUX=disabled } 查看剩余內(nèi)存{ free m /+ buffers/cache
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1