導航:首頁 > 編程系統 > linuxeo

linuxeo

發布時間:2023-10-09 20:51:09

1. linux裡面ps -eo comm,pcpu命令作用是什麼

# ps -ef 顯示所有進程
# ps -eo comm,pcpu 顯圓敗示所有命令佔用的cpu的大小
e顯示所有進程,o指定命令的名字
# ps -eo comm,pmem 顯示所有命令佔用的mem的大小
ps工具標識進程的橘螞顫5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (」zombie」物乎) process

2. 如何為「Linux命令」設置快捷鍵

Linux的一個特色就是其命令多而且功能強大, 頻繁輸入命令不僅麻煩而且工作量較大,雖然可以使用TAB進行>命令補足,或者使用aliase來簡化某個命令的輸入,但這並不能從根本上解決敲擊鍵盤次數過多的問題。

可以把任何命令或命令的組合指定給鍵盤上的某個鍵,可以是Alt+[A-Z],
Ctrl-[A-Z], Alt+Shift+[A-Z], F1-F12, Ctrl-F[1-12], Alt-F[1-12], Alt+Shift+F[1-12],還有更不可思議的是甚至還可以為功能鍵加上「參數」,這樣你按下那個鍵的時候,它會等待你輸入相應的參數,並根據不同的參數運行不同的命令。

當然,有一些熱鍵會被終端所捕獲,如常見的Ctrl-D/C/Q/Z等,不過沒關系,可用的熱鍵還多著呢!

定義熱鍵的配置文件為:/etc/inputrc 或 ~/.inputrc,定義熱鍵的格式如下:

"<熱鍵對應的ASCII字元>":"<執行的命令>"

其中熱鍵對應的ASCII字元可以通過 "先按Ctrl-V, 然後按熱鍵" 的方式來輸入, 如Ctrl-G對應的字元為^G, Alt-P對應的字元為^[p, Ctrl-Alt-H對應的字元為^[^H.

可以用/C來代替Ctrl,/M來代替Alt, /M-/C來代替Alt-Ctrl, 如/C-M = Ctrl-M, /M-/C-H = Alt-Ctrl-M. 另外還可以用/e代表^[.

先來看一些基本的熱鍵定義,(這里熱鍵里的字母不區分大小寫):
"^[-":"su -/C-M" # 按Alt+- 執行su - 命令,末尾/C-M表示輸入完定義的命令後回車,也可以更簡潔地用一個/n來表示.

"/M-/C-G":"gaim & &>/dev/null && disown/C-M"
# 按Ctrl-Alt-g在當前shell打開gaim, 並脫離該shell獨立運行,即:即使你退出了該shell, gaim也不會關閉

其他一些組合鍵可以根據自己的需要配置,偶就不多說了.

大家也許會覺得這樣定義熱鍵太亂了,而且很難記住,還有一定的限制。這個問題在後面會得到解決。

一般情況下,我們可以使用上下方向鍵來查找命令歷史列表,以此重復輸入命令,但是方向鍵離主鍵盤區太遠,如>果頻繁使用的話,會耽誤不少時間,而且挪動右手時也不太方便,有沒有什麼辦法把方向鍵的功能轉移到我們經常>敲命令的地方呢?如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找

通過定義熱鍵可以做到這點:

"/eh":"^[OD" # move left
# Alt-H 向左移一個字元, 相當於Left Arrowgh, 這里^[OD即向上方向鍵的ASCII字元,輸入方式與前面提到的類似
"/el":"^[OC" # move right
# Alt-L 向右移一個字元,相當於Right Arrow

"/ej":"^[OB" # move up
# Alt-J 向下移動,相當於Up Arrow

"/ek":"^[OA" # move down
# Alt-K 向上移動,相當於Down Arrow

"/ei":"^?" # left earse one character
# Alt-I 向左刪除一個字元,相當於Backspace

"/eo":delete-char # right earse one character
# Alt-O 向右刪除一個字元,相當於Delete

"/en":backward-kill-word # left kill one word
# Alt-N 向左刪除一個單詞

"/em":kill-word # right kill one word
# Alt-M 向右刪除一個單詞

"/ea":"^[n^[n^[n^[n^[n^[n^[n" # kill to the head
# Alt-A 刪除當前位置到開頭,也就是多Alt-N幾次(A--> ahead)

"/ee":"^[m^[m^[m^[m^[m^[m^[m" # kill to the head
# Alt-E 刪除當前位置到末尾,也就是多Alt-M幾次(E--> end)

"/ep": insert-last-argumem"
# Alt-P 插入上一個命令最後一個參數 (P--> Paste)

"/ew": forward-word
# 系統默認Alt-F (forward)跳到當前單詞詞尾,如果已在詞尾,則跳到下一個單詞(右邊一個單詞)詞尾

"/eq": backward-word
# 系統默認Alt-B (backward)跳到當前單詞詞首,如果已在詞首,則跳到上一個單詞(左邊一個單詞)詞首

發覺F和B鍵離得太遠,不方便,偶分別改作Alt-Q, Alt-W, 但是Alt-F/B照樣可以用

這樣輸入命令的時候幾乎可以不用離開主鍵盤區,而且移動游標,刪除字元,刪除單詞,上下歷史命令查找都集中>在一塊,比以前方便多了。不過開始可能有些不習慣,就跟使用vi一樣,但是多練幾次就熟練了。

Linux下絕大部分服務的配置是基於配置文件的,一般說來,更改了某個服務的配置文件,要使其立即生效,還需重啟該服務直接的或依附的守護進程才行。難道你就不覺得「每次 vi /etc/xxx.conf 完後又 service xxx restart/reload 或 killall -HUP xxx」這樣做很繁瑣么?如果要配置的服務較多而且要不停地調試呢?況且我們平常使用Linux時難免會不時地終止或啟動某個服務進程,輸入命令的次數也不少。如果為每個服務都指定一個熱鍵的話,似乎不大可能。如果我們賦予一個熱鍵為一個基本鍵,而相應的服務為其「參數」,那又如何呢?

舉個例子,賦予Alt-S (S-->Start)為啟動服務的基本鍵,服務名的前2個字元為啟動「參數」,那麼就可以像下面那樣隨意啟動某個服務了:
"/essm":"service smb start/n"
# /es=Alt-s, sm=smb,
# 即:按下Alt-s後緊跟著再輸入sm(這時輸入的sm並不會顯示在終端上),就可以啟動samba的服務進程了,不必擔心按下鍵與輸入「參數」間的時間延遲問題,你按下Alt-s,然後去外面兜一圈回來,再接著輸入sm,照樣可以。

"/esht":"service httpd start/n" # ht=httpd,啟動Apache服務

類似地,我們賦予
Alt-D(D--> shutDown) 為停止服務的基本鍵
Alt-R(R--> Restart) 為重啟服務的基本鍵
Alt-T(T--> Status) 為查看服務狀態的基本鍵
Alt-C(C--> Configure) 為打開服務對應的主配置文件的基本鍵
如:"/ecnf":"vi /etc/exports/n" # Alt-c+nf 打開NFS的配置文件
"/ecsm":"vi /etc/samba/smb.conf/n" # Alt-c+sm 打開smb的配置文件

如果某個服務(如ssh)有2個配置文件,可以在其後再加一個數字,如:
"/ecssh1":"vi /etc/ssh/sshd_config/n" # 打開sshd服務端配置文件
"/ecssh2":"vi /etc/ssh/ssh_config/n" # 打開sshd客戶端配置文件

如果要執行某個應用程序呢?可以用Alt-x做基本鍵(x--> eXeccute) 如:
"/exga":"gaim & &>/dev/null && disown && clean /n"
"/exxm":"xmms & &>/dev/null && disown && clean /n"
"/exvm":"vmware & &>/dev/null && disown && clean /n" "/exna":"nautilus & &>/dev/null && disown && clean /n"
等等....

到現在為止我們只要按1個組合鍵+2個字元就可以實現下面眾多的功能:
1. 執行指定的應用程序
2. 啟動|重啟|關閉|指定的服務進程
3. 查看指定服務的狀態
4. 打開指定服務的指定配置文件

3. Linux下怎麼配置Gnome桌面環境

Linux下配置Gnome桌面環境方法

一、首先查看系統的運行級別以及是否安裝了桌面環境

1、使用命令runlevel 查看當前的運行級別 ,如圖所示;


注意事項

根據自己的實際需求出發;

4. linux怎麼查看線程cpu

可以用下面的命令將 cpu 佔用率高的線程找出來:
ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu

這個命令首先指定參數'H',顯示線程相關的信息,格式輸出中包含:user,pid,ppid,tid,time,%cpu,cmd,然後再用%cpu欄位進行排序。這樣就可以找到佔用處理器的線程了。

直接使用 ps Hh -eo pid,tid,pcpu | sort -nk3 |tail 獲取對於的進程號和線程號,然後跳轉到3.
查看哪個進程線程佔用cpu過高; top / ps -aux, 獲得進程號
確定哪個線程佔用cpu過高,進入進程號的目錄:/proc/pid/task,
執行:grep SleepAVG **/status | sort -k2,2 | head, 確定cpu佔用較高的線程號。
使用kill -3 pid 會列印線程堆棧的情況

在 Linux 下 top 工具可以顯示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以顯示每個 cpu 的利用率。但是無法顯示每個線程的 cpu 利用率情況,這時就可能出現這種情況,總的 cpu 利用率中 user 或 system 很高,但是用進程的 cpu 佔用率進行排序時,沒有進程的 user 或 system 與之對應。

5. Linux 伺服器性能出問題,排查下這些參數指標

1.1 top

1.2 vmstat

r 表示可運行進程數目,數據大致相符;而b表示的是 uninterruptible 睡眠的進程數目;swpd 表示使用到的虛擬內存數量,跟 top-Swap-used 的數值是一個含義,而如手冊所說,通常情況下 buffers 數目要比 cached Mem 小的多,buffers 一般20M這么個數量級;io 域的 bi、bo 表明每秒鍾向磁碟接收和發送的塊數目(blocks/s);system 域的 in 表明每秒鍾的系統中斷數(包括時鍾中斷),cs表明因為進程切換導致上下文切換的數目。

說到這里,想到以前很多人糾結編譯 linux kernel 的時候 -j 參數究竟是 CPU Core 還是 CPU Core+1?通過上面修改 -j 參數值編譯 boost 和 linux kernel 的同時開啟 vmstat 監控,發現兩種情況下 context switch 基本沒有變化,且也只有顯著增加 -j 值後 context switch 才會有顯著的增加,看來不必過於糾結這個參數了,雖然具體編譯時間長度我還沒有測試。資料說如果不是在系統啟動或者 benchmark 的狀態,參數 context switch>100000 程序肯定有問題。

1.3 pidstat

如果想對某個進程進行全面具體的追蹤,沒有什麼比 pidstat 更合適的了——棧空間、缺頁情況、主被動切換等信息盡收眼底。這個命令最有用的參數是-t,可以將進程中各個線程的詳細信息羅列出來。

-r: 顯示缺頁錯誤和內存使用狀況,缺頁錯誤是程序需要訪問映射在虛擬內存空間中但是還尚未被載入到物理內存中的一個分頁,缺頁錯誤兩個主要類型是

-s:棧使用狀況,包括 StkSize 為線程保留的棧空間,以及 StkRef 實際使用的棧空間。使用ulimit -s發現CentOS 6.x上面默認棧空間是10240K,而 CentOS 7.x、Ubuntu系列默認棧空間大小為8196K

1.4 其他

while :; do ps -eo user,pid,ni,pri,pcpu,psr,comm | grep 'ailawd' sleep 1; done

2.1 iostat

3.1 netstat

➜ ~ netstat -antp #列出所有TCP的連接

➜ ~ netstat -nltp #列出本地所有TCP偵聽套接字,不要加-a參數

3.2 sar

3.3 tcpmp

閱讀全文

與linuxeo相關的資料

熱點內容
最近很火的app軟體是什麼軟體 瀏覽:862
ai文字工具 瀏覽:157
蘭博玩游戲路徑怎麼選擇正確文件 瀏覽:972
淘寶直通車恢復老版本 瀏覽:510
播放草莓的圖片我都文件 瀏覽:55
微信大文件打不開 瀏覽:767
家裝合同准備哪些文件 瀏覽:296
應用bat合並excel文件 瀏覽:984
迅雷影音文件夾 瀏覽:109
makefile的文件路徑 瀏覽:392
計算機程序文件名擴展名為 瀏覽:982
網路游戲推廣策劃案 瀏覽:609
替換所有文件內容的代碼 瀏覽:960
不是常用數據模型有哪些 瀏覽:426
aspcms版本號 瀏覽:835
安卓怎麼用數據流量下載軟體 瀏覽:553
大眾手動空調數據流通道號是多少 瀏覽:303
手機qq令牌 瀏覽:737
cg原畫上色教程 瀏覽:993
婚介服務中心app怎麼做 瀏覽:43

友情鏈接