⑴ linux命令行查看內存
用 'top -i' 看看有多少進程處於 Running 狀態,可能系統存在內存或 I/O 瓶頸,用 free 看看系統內存使用情況,swap 是否被佔用很多,用 iostat 看看 I/O 負載情況...
還有一種辦法是 ps -ef | sort -k7 ,將進程按運行時間排序,看哪個進程消耗的cpu時間最多。
top:
主要參數 :
free
1.作用
free命令用來顯示內存的使用情況,使用許可權是所有用戶。
**2.格式 **
**3.主要參數 **
uptime
vmstat
**1 觀察磁碟活動情況 **
磁碟活動情況主要從以下幾個指標了解:
**2 觀察cpu活動情況 **
vmstat比top更能反映出cpu的使用情況:
iostat
用於統計CPU的使用情況及tty設備、硬碟和CD-ROM的I/0量
即使爬到最高的山上,一次也只能腳踏實地地邁一步。
Linux查看CPU和內存使用情況:
在做Linux系統優化的時候,物理內存是其中最重要的一方面。自然的,Linux也提供了非常多的方法來監控寶貴的內存資源的使用情況。下面的清單詳細的列出了Linux系統下通過視圖工具或命令行來查看內存使用情況的各種方法。
1. /proc/meminfo
查看RAM使用情況最簡單的方法是通過 /proc/meminfo 。這個動態更新的虛擬文件實際上是許多其他內存相關工具(如:free / ps / top)等的組合顯示。 /proc/meminfo 列出了所有你想了解的內存的使用情況。進程的內存使用信息也可以通過/proc/<pid>/statm 和 /proc/<pid>/status 來查看。
atop命令是一個終端環境的監控命令。它顯示的是各種系統資源(CPU, memory, network, I/O, kernel)的綜合,並且在高負載的情況下進行了彩色標注。
free命令是一個快速查看內存使用情況的方法,它是對 /proc/meminfo 收集到的信息的一個概述。
GNOME System Monitor 是一個顯示最近一段時間內的CPU、內存、交換區及網路的使用情況的視圖工具。它還提供了一種查看CPU及內存使用情況的方法。
htop命令顯示了每個進程的內存實時使用率。它提供了所有進程的常駐內存大小、程序總內存大小、共享庫大小等的報告。列表可以水平及垂直滾動。
功能同 4 中介紹的GENOME版本。
memstat是一個有效識別executable(s), process(es) and shared libraries使用虛擬內存情況的命令。給定一個進程ID,memstat可以列出這個進程相關的可執行文件、數據和共享庫。
nmon是一個基於ncurses的系統基準測試工具,它可以監控CPU、內存、I/O、文件系統及網路資源等的互動模式。對於內存的使用,它可以實時的顯示 總/剩餘內存、交換空間等信息。
ps命令可以實時的顯示各個進程的內存使用情況。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 「–sort」選項對進程進行排序,例如按RSS進行排序:
smem命令允許你統計基於/proc信息的不同進程和用戶的內存使用情況。內存使用情況的分析可以導出圖表(如條形圖和餅圖)。
top命令提供了實時的運行中的程序的資源使用統計。你可以根據內存的使用和大小來進行排序。
vmstat命令顯示實時的和平均的統計,覆蓋CPU、內存、I/O等內容。例如內存情況,不僅顯示物理內存,也統計虛擬內存。
⑵ Linux伺服器如何查看CPU佔用率、內存佔用、帶寬佔用
Linux伺服器如何查看CPU佔用率、內存佔用、帶寬佔用的命令
圖中紅色部分即為佔用百分率,下面是每個進程的CPU佔用率,如果伺服器是多核CPU可能在下方看到有些進程CPU佔用超過100%,這種一般是該進程使用了多核。
內存佔用率:free -m
圖中紅色部分即為佔用,即used、free即為剩餘。(注意中在第二行數字中找哦。)
帶寬佔用:
使用vmstat命令,輸入命令:vmstat
linux伺服器的相關信息查看(埠佔用,cpu、內存佔用,防火牆,系統信息,vim編輯器使用等)
一、埠佔用情況
(1)查看所有埠、進程的使用情況: netstat -tunlp
(2)查看某一埠的使用情況: netstat -tunlp|grep 5560
二、查看內存使用情況
(1)查看佔用情況(動態):top
按下P(大寫)可以找到佔用內存最大的進程
(2)查看佔用情況(總的):free
(3)查看佔用內存最多的N個進程: ps -aux | sort -k4nr | head -K如果是10個進程,K=10,如果是最高的三個,K=3
(4)查看硬碟空間大小:df -lh
三、防火牆
防火牆iptables和firewall
(1)查看防火牆狀態:firewall-cmd --state
(2)開啟、關閉防火牆:開啟:systemctl start firewalld關閉:systemctl stop firewalld.service 或者 service firewalld stop
(3)重啟防火牆:firewall-cmd --reload(重新載入配置,在添加規則之後,需要執行此命令)
(4)防火牆是否開機啟動:禁止防火牆開機啟動:systemctl disable firewalld.service設置防火牆開機啟動:systemctl enable firewalld.service
四、查看系統信息
(1)查看系統位數:getconf LONG_BIT
(2)查看內存信息:查看所有內存信息: cat /proc/meminfo查看內存容量: grep "MemTotal" /proc/meminfo
(3)查看CPU信息:查看cpu個數(幾核):cat /proc/cpuinfo |grep "processor"|wc -l
五、linux中文亂碼:
我只是用了第三部,更改了ssh客戶端屬性配置就可以了
1. 配置SSH 終端 (以xshell為例):
打開「文件」(File)- 「屬性」 (Properties), 在「終端」(Terminal),將「編碼」(Encoding)改為UTF-8 即可。
六、Xshell遠程連接Linux時無法使用小鍵盤的解決方式:
七、linux中vi編輯器的退出操作
保存,但不退出vi :w
保存並退出vi :wq
退出vi,但不保存更改 :q!
用其他文件名保存 :w filename
在現有文件中保存並覆蓋該文件 :w! filename
查找文字:在一般模式下輸入/和你要查找的文字單詞,例如/port,此時再按下 n 會跳轉至改文字所在的下一處。
⑶ linux查看內存使用情況
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源佔用狀況,類似於Windows的任務管理器。可以直接使用top命令後,查看%MEM的內容,可以選擇按進程查看或者按用戶查看,如想查看oracle用戶的進程內存使用情況的話可以使用如下的命令$top-uoracle。
內容解釋PID進程的ID,USER進程所有者,PR進程的優先順序別,越小越優先被執行,NInice值,VIRT進程佔用的虛擬內存,RES進程佔用的物理內存,SHR進程使用的共享內存,S進程的狀態,S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數。
%CPU進程佔用CPU的使用率,%MEM進程使用的物理內存和總內存的百分比,TIME+該進程啟動後佔用的總的CPU時間,即佔用CPU使用時間的累加值,COMMAND進程啟動命令名稱。
在命令行中輸入top,即可啟動top,top的全屏對話模式可分為3部分系統信息欄、命令輸入欄、進程列表欄。
第一部分最上部的系統信息欄,第一行top00:11:04為系統當前時刻,3:35為系統啟動後到現在的運作時間,2users為當前登錄到系統的用戶,更確切的說是登錄到用戶的終端數--同一個用戶同一時間對系統多個終端的連接將被視為多個用戶連接到系統,這里的用戶數也將表現為終端的數目。
loadaverage為當前系統負載的平均值,後面的三個值分別為1分鍾前、5分鍾前、15分鍾前進程的平均數,一般的可以認為這個數值超過CPU數目時,CPU將比較吃力的負載當前系統所包含的進程。
第二行Tasks,59total為當前系統進程總數,1running為當前運行中的進程數,58sleeping為當前處於等待狀態中的進程數,0stoped為被停止的系統進程數,0zombie為被復原的進程數。
第三行Cpus,分別表示了CPU當前的使用率,第四行Mem分別表示了內存總量、當前使用量、空閑內存量、以及緩沖使用中的內存量,第五行Swap表示類別同第四行Mem,但此處反映著交換分區Swap的使用情況,通常,交換分區(Swap)被頻繁使用的情況,將被視作物理內存不足而造成的。
第二部分中間部分的內部命令提示欄top運行中可以通過top的內部命令對進程的顯示方式進行控制,內部命令如下表,s改變畫面更新頻率,l關閉或開啟第一部分第一行top信息的表示,t關閉或開啟第一部分第二行Tasks和第三行Cpus信息的表示,m關閉或開啟第一部分第四行Mem和第五行Swap信息的表示。
N以PID的大小的順序排列表示進程列表第三部分後述,P以CPU佔用率大小的順序排列進程列表第三部分後述,M以內存佔用率大小的順序排列進程列表第三部分後述,h顯示幫助,n設置在進程列表所顯示進程的數量,q退出top,s改變畫面更新周期。
第三部分最下部分的進程列表欄以PID區分的進程列表將根據所設定的畫面更新時間定期的更新,通過top內部命令可以控制此處的顯示方式pmap可以根據進程查看進程相關信息佔用的內存情況,進程號可以通過ps查看如下所示$pmap-d5647。
ps如下例所示$ps-e-o'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'其中rsz是是實際內存,$ps-e-o'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'|greporacle|sort-nrk,其中rsz為實際內存,上例實現按內存排序,由大到小。
在Linux下查看內存我們一般用free命令[root@tmp]#free,,Mem:,-/+buffers/cache:4711162795064,Swap:2048276801601968116。
下面是對這些數值的解釋total總計物理內存的大小,used已使用多大,free可用有多少,Shared多個進程共享的內存總額,Buffers/cached:磁碟緩存的大小,第三行-/+buffers/cached,used已使用多大,free:可用有多少。
Linux的特點
Linux是一種自由和開放源代碼的類UNIX操作系統,該操作系統的內核由林納斯托瓦茲在1991年10月5日首次發布,在加上用戶空間的應用程序之後,成為Linux操作系統,Linux也是自由軟體和開放源代碼軟體發展中最著名的例子,只要遵循GNU通用公共許可證,任何個人和機構都可以自由地使用Linux的所有底層源代碼,也可以自由地修改和再發布。
大多數Linux系統還包括了像提供GUI界面的X Window之類的程序,除了一部分專家之外,大多數人都是直接使用Linux發布版,而不是自己選擇每一樣組件或自行設置,以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。
⑷ 如何監視Linux系統資源的使用情況
虛擬終端 命令 free
命令
可以用網路搜索
你值得擁有:25 個 Linux 性能監控工具
裡面有一些其它的好工具。
命令、uptime、free
參看::wenku../link?url=-_YXSztvNvIykFJ_C
Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使
雖然說Linux操作系統要比Windows操作系統穩定的多。但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使用情況。筆者今天就給大家介紹一下,褲彎帶在Linux操作系統下如何監視這個系統資源,做到心中有數。
在Windows操作系統中,可以通過任務管理器來查詢各個進程所佔用的CPU與內存的比率。在Linux操作系統中沒有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個進程所佔用的系統資源。
ppp作為一個合格的系統管理員,出於系統性能優化或者其他方面的考慮,往往需要掌握系統中最消耗CPU或者內存資源的程序。為了達到這個目的,系統管理員就需要藉助系統提供的命令。這個命令可以幫助管理員監控系統資源的使用情況,包括內存、CPU、交換文件分區的使用率等等。就是這個命令的執行結果。系統管理員想要提升操作系統的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內容系統管理員無法看懂,那麼他就想提升系統的性能根本無法入手。
Top命令的運行結果大致可以分為兩個部分。上半部是使一些統計的信息,包括內存和交換分區的使用情況、CPU的運行情況、進程的總數等等。在這些統計信息中,系統管理員除了要關注這些重要資源的使用濾外,還需要注意進程運行的狀態。可見在Linux系統中進程的狀態主要有四種,分別為running、sleeping、sped和zombie。如果從系統維護與性能優化考慮,則系統管理員需要關注那些狀態為zombie的進程。若進程處於這個狀態,在Linux操作系統中叫做僵屍進程。什麼叫做僵屍進程呢?就是那些父進程還沒死、但鬧滑是子進程卻死了的進程。在Linux操作系統中,進程一般分為父進程和子進程。某個進程A可能會調用另外一個進程B。此時這個進程A就叫做父進程,而進程B就叫做子進程。由於一些意外的情況,子進程運行已經停止,但是父進程卻還不知道子進程早已停止運行,還在那邊傻傻的等待著子進程返回運行結果。由於子進程沒有返回結果,則父進程可能一直會在那邊等待。從而導致系統性能的下降。如果系統管理員發現有僵屍進程的話,首先要做的就是結束父進程(有時候還需要查看這個父進程打開的其他子進程運行情況),以釋放其佔用的系統資源。其次如果這種情況發生的比較頻繁時,則系統管理員就需要分析到底是什麼原因導致這種情況發生的。找到原因後要採取積極的措施。通常情況下,如果子進程的狀態為僵屍時,父進程就不會自動結束,從而其佔用的系統資源就不會自動釋放,從而降低操作系統的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統的任務管理器中,管理員可以根據需要選擇合適的排序順序,如按CPU排序或者按內存的使用率進行排序。而在命令的顯示結果中,默認情況下是按照CPU的使用率來進行排序的。如果現在系統管理員想按照內存使用率來排序,該如何處理呢?如果要想改變命令結果的排序順序,則可以按m鍵來按內存進行排序。注意這里的m是小寫,而不是大寫的。在Linux操作系統中大部分命令與參數大小胡蘆寫都是敏感的。這跟微軟操作系統中的DOS命令不同。Dos命令是不區分大小寫的。雖然這個排序沒有像微軟操作系統中的任務管理器那麼方便,只需要點點滑鼠就可以完成排序。但是只要熟悉相關的命令,在命令行中對其排序沒有大家想想的那麼困難。
2、 監視特定用戶使用的資源情況。
在Windows操作系統中,如果想要查看特定帳戶所打開的進程以及所耗用的系統資源,操作非常簡單。只需要打開系統任務管理器,然後按照用戶來進行排序。就可以知道某個用戶開啟了哪些進程以及所佔用的比例。而在命令中,沒有按帳戶進行排序的功能。即在上面這個顯示結果中,只可以按照內存使用率或者CPU負載來進行排序,而無法按照用戶來進行排序。在同一個結果中夾雜著系統特權用戶root與普通用戶所打開的進程。這對於系統管理員查找問題原因非常的不方便。有時候系統管理員往往需要只查看特定用戶的進程,如只需要查看oracle帳戶所打開的進程以及所佔用的系統資源。而忽略掉系統帳戶。因為特權帳戶其他用戶無權進行登陸操作,而其運行的往往是一些系統級別的進程,為此一般不會出現問題。而普通用戶可以運行一些應用程序。有時候他們糊里糊塗可能會打開一些非法程序,佔用大量的系統資源,從而降低系統性能。廢話少說,如何才能夠查看特定帳戶所啟動的進程呢?其實很簡單。現運行 命令,讓系統統計所有帳戶的進程。然後在需要查看特定帳戶的進程使,只需要按u鍵(注意小寫),然後輸入用戶名即可。此時系統會自動把其他帳戶的進程過濾掉,方便系統管理員查看。按用戶過濾後,仍然可以按m鍵來對現實的結果進行過濾。如果在一開始就需要查看某個特定用戶的進程,那麼只需要直接在 命令後面加入-u可選項然後帶上具體的用戶名即可。但是,此時如果再想查看全部用戶的話,那麼只有先推出命令,然後再利用命令不帶任何選項,來查看所有用戶的進程。或者說,再在這個窗口中輸入字元u,然後直接按回車鍵,也可以顯示所用用戶的進程信息。
3、動態統計信息。
使用命令來統計進程的運行信息,跟微軟操作系統的任務管理器一樣,都是動態調整的。也就是說,系統會每隔一段時間去統計這個信息,然後動態的顯示在窗口中。不需要用戶手工去更新相關的信息。而且從上面的圖形中可以看出,命令統計的信息要比微軟任務管理器統計的信息要多的多。所以對系統管理員來說,具有更大的參考價值。筆者以前也很喜歡採用微軟操作系統的任務管理器。而了解了命令後,就對其鍾愛有加了。因為其不僅可以完成任務管理器中的所有功能。而且命令中有的信息在微軟任務管理器中卻無法顯示。而這些信息往往對我們維護系統、提升性能具有很大的參考價值。
4、刪除有異常的進程。
如果這個窗口中,發現某些進程有異常或者用戶執行了規定以外的應用程序,如佔用了太多的系統資源或者有僵屍進程的存在,則可以直接在這個窗口中講其刪除。操作的方法很簡單,只需要在這個窗口內輸入字元p,然後系統會提示系統管理員輸入要關閉進程的PID。管理員只需要鍵入這個值,然後按回車鍵就可以殺掉不需要的進程。不過在關閉進程的時候,有許可權的限制。系統特權帳戶root可以關閉所有用戶的進程。而普通帳戶則只能夠刪除自己打開的程序,而無法關閉其他用戶的進程。如現在系統管理員先以oracle用戶登錄,發現root帳戶下某個進程異常,想要關閉時,系統會提示無法關閉的錯誤信息。此時管理員必須先終止這個進程,然後利用su命令更改登陸的帳戶。然後再關閉這個異常的進程。系統管理員可以同時關閉多個進程。方法很簡單,就是同時輸入多個需要關閉的進程號。在各個進程號之間需要利用逗號隔開。
在系統維護中是一個很有用的命令。除了可以實現如上的功能外,還可以設置其動態更新的時間間隔等等。不過需要注意的是,在不同版本的 Linux系統中其功能稍有差異,而且其顯示的布局與內容也有所不同。為此當系統管理員維護其不怎麼熟悉的版本時,有時候需要查看系統的幫助說明。此時只需要在命令後面加上?號就可以獲得相關的幫助。這個聯機幫助文檔根命令一樣,都是系統管理員的好幫手。不過可惜的是,現在這些在線幫助文檔都是英文的。所以這對系統管理員的英文說明要求比較高。
但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使
雖然說Linux操作系統要比Windows操作系統穩定的多。但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使用情況。筆者今天就給大家介紹一下,在Linux操作系統下如何監視這個系統資源,做到心中有數。
在Windows操作系統中,可以通過任務管理器來查詢各個進程所佔用的CPU與內存的比率。在Linux操作系統中沒有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個進程所佔用的系統資源。
ppp作為一個合格的系統管理員,出於系統性能優化或者其他方面的考慮,往往需要掌握系統中最消耗CPU或者內存資源的程序。為了達到這個目的,系統管理員就需要藉助系統提供的命令。這個命令可以幫助管理員監控系統資源的使用情況,包括內存、CPU、交換文件分區的使用率等等。就是這個命令的執行結果。系統管理員想要提升操作系統的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內容系統管理員無法看懂,那麼他就想提升系統的性能根本無法入手。
Top命令的運行結果大致可以分為兩個部分。上半部是使一些統計的信息,包括內存和交換分區的使用情況、CPU的運行情況、進程的總數等等。在這些統計信息中,系統管理員除了要關注這些重要資源的使用濾外,還需要注意進程運行的狀態。可見在Linux系統中進程的狀態主要有四種,分別為running、sleeping、sped和zombie。如果從系統維護與性能優化考慮,則系統管理員需要關注那些狀態為zombie的進程。若進程處於這個狀態,在Linux操作系統中叫做僵屍進程。什麼叫做僵屍進程呢?就是那些父進程還沒死、但是子進程卻死了的進程。在Linux操作系統中,進程一般分為父進程和子進程。某個進程A可能會調用另外一個進程B。此時這個進程A就叫做父進程,而進程B就叫做子進程。由於一些意外的情況,子進程運行已經停止,但是父進程卻還不知道子進程早已停止運行,還在那邊傻傻的等待著子進程返回運行結果。由於子進程沒有返回結果,則父進程可能一直會在那邊等待。從而導致系統性能的下降。如果系統管理員發現有僵屍進程的話,首先要做的就是結束父進程(有時候還需要查看這個父進程打開的其他子進程運行情況),以釋放其佔用的系統資源。其次如果這種情況發生的比較頻繁時,則系統管理員就需要分析到底是什麼原因導致這種情況發生的。找到原因後要採取積極的措施。通常情況下,如果子進程的狀態為僵屍時,父進程就不會自動結束,從而其佔用的系統資源就不會自動釋放,從而降低操作系統的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統的任務管理器中,管理員可以根據需要選擇合適的排序順序,如按CPU排序或者按內存的使用率進行排序。而在命令的顯示結果中,默認情況下是按照CPU的使用率來進行排序的。如果現在系統管理員想按照內存使用率來排序,該如何處理呢?如果要想改變命令結果的排序順序,則可以按m鍵來按內存進行排序。注意這里的m是小寫,而不是大寫的。在Linux操作系統中大部分命令與參數大小寫都是敏感的。這跟微軟操作系統中的DOS命令不同。Dos命令是不區分大小寫的。雖然這個排序沒有像微軟操作系統中的任務管理器那麼方便,只需要點點滑鼠就可以完成排序。但是只要熟悉相關的命令,在命令行中對其排序沒有大家想想的那麼困難。
2、 監視特定用戶使用的資源情況。
在Windows操作系統中,如果想要查看特定帳戶所打開的進程以及所耗用的系統資源,操作非常簡單。只需要打開系統任務管理器,然後按照用戶來進行排序。就可以知道某個用戶開啟了哪些進程以及所佔用的比例。而在命令中,沒有按帳戶進行排序的功能。即在上面這個顯示結果中,只可以按照內存使用率或者CPU負載來進行排序,而無法按照用戶來進行排序。在同一個結果中夾雜著系統特權用戶root與普通用戶所打開的進程。這對於系統管理員查找問題原因非常的不方便。有時候系統管理員往往需要只查看特定用戶的進程,如只需要查看oracle帳戶所打開的進程以及所佔用的系統資源。而忽略掉系統帳戶。因為特權帳戶其他用戶無權進行登陸操作,而其運行的往往是一些系統級別的進程,為此一般不會出現問題。而普通用戶可以運行一些應用程序。有時候他們糊里糊塗可能會打開一些非法程序,佔用大量的系統資源,從而降低系統性能。廢話少說,如何才能夠查看特定帳戶所啟動的進程呢?其實很簡單。現運行 命令,讓系統統計所有帳戶的進程。然後在需要查看特定帳戶的進程使,只需要按u鍵(注意小寫),然後輸入用戶名即可。此時系統會自動把其他帳戶的進程過濾掉,方便系統管理員查看。按用戶過濾後,仍然可以按m鍵來對現實的結果進行過濾。如果在一開始就需要查看某個特定用戶的進程,那麼只需要直接在 命令後面加入-u可選項然後帶上具體的用戶名即可。但是,此時如果再想查看全部用戶的話,那麼只有先推出命令,然後再利用命令不帶任何選項,來查看所有用戶的進程。或者說,再在這個窗口中輸入字元u,然後直接按回車鍵,也可以顯示所用用戶的進程信息。
3、動態統計信息。
使用命令來統計進程的運行信息,跟微軟操作系統的任務管理器一樣,都是動態調整的。也就是說,系統會每隔一段時間去統計這個信息,然後動態的顯示在窗口中。不需要用戶手工去更新相關的信息。而且從上面的圖形中可以看出,命令統計的信息要比微軟任務管理器統計的信息要多的多。所以對系統管理員來說,具有更大的參考價值。筆者以前也很喜歡採用微軟操作系統的任務管理器。而了解了命令後,就對其鍾愛有加了。因為其不僅可以完成任務管理器中的所有功能。而且命令中有的信息在微軟任務管理器中卻無法顯示。而這些信息往往對我們維護系統、提升性能具有很大的參考價值。
4、刪除有異常的進程。
如果這個窗口中,發現某些進程有異常或者用戶執行了規定以外的應用程序,如佔用了太多的系統資源或者有僵屍進程的存在,則可以直接在這個窗口中講其刪除。操作的方法很簡單,只需要在這個窗口內輸入字元p,然後系統會提示系統管理員輸入要關閉進程的PID。管理員只需要鍵入這個值,然後按回車鍵就可以殺掉不需要的進程。不過在關閉進程的時候,有許可權的限制。系統特權帳戶root可以關閉所有用戶的進程。而普通帳戶則只能夠刪除自己打開的程序,而無法關閉其他用戶的進程。如現在系統管理員先以oracle用戶登錄,發現root帳戶下某個進程異常,想要關閉時,系統會提示無法關閉的錯誤信息。此時管理員必須先終止這個進程,然後利用su命令更改登陸的帳戶。然後再關閉這個異常的進程。系統管理員可以同時關閉多個進程。方法很簡單,就是同時輸入多個需要關閉的進程號。在各個進程號之間需要利用逗號隔開。
在系統維護中是一個很有用的命令。除了可以實現如上的功能外,還可以設置其動態更新的時間間隔等等。不過需要注意的是,在不同版本的 Linux系統中其功能稍有差異,而且其顯示的布局與內容也有所不同。為此當系統管理員維護其不怎麼熟悉的版本時,有時候需要查看系統的幫助說明。此時只需要在命令後面加上?號就可以獲得相關的幫助。這個聯機幫助文檔根命令一樣,都是系統管理員的好幫手。不過可惜的是,現在這些在線幫助文檔都是英文的。所以這對系統管理員的英文說明要求比較高。
[root@iZ259r7h4pfZ ~]#
- 16:48:24 up 226 days, 8:34, 1 user, load average: 0.00, 0.00, 0.01
Tasks: 204 total, 1 running, 164 sleeping, 0 sped, 39 zombie
Cpu(s): 0.9%us, 0.9%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1920740k total, 1123552k used, 797188k free, 24216k buffers
Swap: 0k total, 0k used, 0k free, 87436k cached
[root@iZ259r7h4pfZ ~]# free -m
total used free shared buffers cached
Mem: 1875 1097 778 0 23 85
-/+ buffers/cache: 988 887
Swap: 0 0 0
也可以用watch監控
[root@iZ259r7h4pfZ ~]# watch -n 1 "free -m"
Every 1.0s: free -m Tue Oct 31 16:48:44 2017
total used free shared buffers cached
Mem: 1875 1098 777 0 23 85
-/+ buffers/cache: 989 886
Swap: 0 0 0
這個需要配置吧
:blogs./yangxia-test/archive/2012/11/27/2790771.
LR只是模擬客戶端和伺服器進行交互,並不能直觀的收集伺服器是內部的信息,如果要監控伺服器性能情況,linux系統可以用nmon(或者用命令不過,只能監控內存之類的情況,寫一個shell腳本定時輸出日誌到本地就可以了),oracle可以用awr。
Linux查看系統資源佔用
在系統維護的過程中,隨時可能有需要查看 CPU和內存的使用率,並根據相應信息分析系統狀況的需求。本文介紹一下幾種常見的Linux系統資源查看命令。
1、總體內存佔用的查看
命令:free
圖1 free命令查看內存佔用
(1) free命令默認是以kb為單位顯示的,可以用free -m 用Mb單位來顯示。
(2) Mem行 : total = used + free 其中buffers和cached雖然計算在used內, 但其實為可用內存。
(3) Mem下一行:used為真實已佔內存,free為真實可用內存。
(4)Swap:內存交換區的使用情況。
2、查看內存佔用前五的進程
命令:ps auxw | head -1;ps auxw|sort -rn -k4|head -5
圖 2.1查看內存佔用前5的進程
如圖2.1所示, 內存的單位是kb,VSZ是虛擬內存的佔用,RSS是真實的內存的佔用。
命令分解:
ps auxw顯示系統資源佔用情況;
head -1表示顯示第一列,即標題列;
sort -r 表示反向排序,-n表示按數字排序,-k4表示列的第4個字元。
3、查看CPU佔用前三的進程
命令:ps auxw|head -1;ps auxw|sort -rn -k3|head -3
圖3.1 查看cpu佔用前三的進程
該命令與圖2.1相仿,只是選擇的資源佔用情況的第3列(即cpu),用「-k3」表示。
4、查看系統整體的負載
命令:
圖4.1 顯示系統整體負載
(1)第一行: 系統時間 + 系統運行時間 + 幾個用戶 + 1/5/15分鍾系統平均負載
(2)第二行:進程總數(total) + 正在運行進程數(running) + 睡眠進程數(sleeping) + 停止的進程數(sped)+ 僵屍進程數(zombie)
(3)第三行:用戶空間CPU佔比(us) + 內核空間CPU佔比(sy)+ CPU空置率(id)
圖4.2 各個任務佔用資源情況
註解:
PID :進程ID
USER :用戶名
PR :優先順序
NI :負值表示高優先順序,正值表示低優先順序。
VIRT :虛擬內存
RES : 真實內存
SHR :共享內存
S :進程狀態 D=不可中斷的睡眠狀態; R=運行; S=睡眠 ;T=跟蹤/停止; Z=僵屍進程
參數:
-d 2 :每隔2秒顯式所有進程的資源佔用情況
-c :每隔5秒顯式進程的資源佔用情況,並顯示進程的命令行參數(默認只有進程名)
-p 12345 -p 6789:每隔5秒顯示pid是12345和pid是6789的兩個進程的資源佔用情況
-d 2 -c -p 123456 :每隔2秒顯示pid是12345的進程的資源使用情況,並顯式該進程啟動的命令行參數
假設一個線程被調度運行,它將一直運行直到它的時間片用完、直到被搶先或直到它自己主動放棄 CPU 控制權。
當另一個線程被賦予 CPU 控制權時,必須保存前一個線程的上下文或工作環境,並載入當前線程的上下文。操作系統有一個很有效的上下文切換過程,所以每次切換並不耗費資源。
任何上下文切換的顯著增加,如當 cs 比磁碟 I/O 和網路包速率高的多,都應進行進一步調查。