20191206 linux常用命令

可用的memory=free memory+buffers+cached(可用內存的統計)

 

如何查看linux系統的內存和cpu信息? 文件:cpuinfo,meminfo,或者直接top命令。

如何查看正在運行的用戶進程:進程名稱,所佔用端口號信息?netstat -ntlup

 

grep -C 10 1089676533 error-latest.log Linux下grep顯示某個關鍵字的前後幾行信息

grep -C 10 ‘123’ test.log //打印匹配行的前後10行 

 

linux 查看日誌最後幾行

tail -n 1000 info.log 顯示最後的一千行

head -n 1000 info.log 顯示最後的一千行

 

 

CPU----->高速緩存(cache)----->內存----->buffer緩衝區----->硬盤;

cache是高速緩存,用於CPU和內存之間的緩衝;

buffer是I/O緩存,用於內存和硬盤的緩衝;用於緩存從硬盤上讀取的數據,減少磁盤I/O.

爲什麼緩存可以提高響應速度?

因爲緩存是基於內存的存儲的,內存的讀寫速率是普通SSD硬盤的至少十倍,更何況機械硬盤;從當前數據流轉上也可以理解爲什麼緩存可以提高響應速度。

電腦硬盤分爲三種:固態硬盤(SSD 盤,新式硬盤)、機械硬盤(HDD 傳統硬盤)

IO是面向流,NIO是面向緩衝。

 

iostat命令的使用

安裝軟件:yum install sysstat

iostat,結果爲從系統開機到當前執行時刻的統計信息。

 

輸出含義:

avg-cpu: 總體cpu使用情況統計信息,對於多核cpu,這裏爲所有cpu的平均值。重點關注iowait值,表示CPU用於等待io請求的完成時間。

Device: 各磁盤設備的IO統計信息。各列含義如下:

Device: 以sdX形式顯示的設備名稱 tps: 每秒進程下發的IO讀、寫請求數量 KB_read/s: 每秒從驅動器讀入的數據量,單位爲K。 KB_wrtn/s: 每秒從驅動器寫入的數據量,單位爲K。 KB_read: 讀入數據總量,單位爲K。 KB_wrtn: 寫入數據總量,單位爲K。

 

1、iowait% 表示CPU等待IO時間佔整個CPU週期的百分比,如果iowait值超過50%,或者明顯大於%system、%user以及%idle,表示IO可能存在問題。

iostat -x -k -d 1 20。每隔1S輸出磁盤IO的詳細詳細,總共採樣20次。

 

vmstat監控系統的狀態

vmstat工具的使用是通過兩個數字參數來完成的,第一個參數是採樣的時間間隔數,單位是秒,第二個參數是採樣的次數。

1)procs 顯示進程相關信息

r :(run)表示運行和等待cpu時間片的進程數,如果長期大於服務器cpu的個數,則說明cpu不夠用了;

b :(block)表示等待資源的進程數,比如等待I/O, 內存等,這列的值如果長時間大於1,則需要關注一下了;

 

網卡(Network Interface Card,簡稱NIC),也稱網絡適配器,是電腦與局域網相互連接的設備。無論是普通電腦還是高端服務器,只要連接到局域網,就都需要安裝一塊網卡。如果有必要,一臺電腦也可以同時安裝兩塊或多塊網卡。

一塊網卡包括OSI:模型的兩個層,物理層和數據鏈路層:

1、物理層定義了數據傳送與接收所需要的電與光信號、線路狀態、時鐘基準、數據編碼和電路等,並向數據鏈路層設備提供標準接口。

2、數據鏈路層則提供尋址機構、數據幀的構建、數據差錯檢查、傳送控制、向網絡層提供標準的數據接口等功能。TCP/IP五層模型中網卡包含了兩層。

網卡的功能主要有兩個:

一是將電腦的數據封裝爲幀,並通過網線(對無線網絡來說就是電磁波)將數據發送到網絡上去;

二是接收網絡上其它設備傳過來的幀,並將幀重新組合成數據,發送到所在的電腦中。

網卡能接收所有在網絡上傳輸的信號,但正常情況下只接受發送到該電腦的幀和廣播幀,將其餘的幀丟棄。然後,傳送到系統CPU做進一步處理。當電腦發送數據時,網卡等待合適的時間將分組插入到數據流中。接收系統通知電腦消息是否完整地到達,如果出現問題,將要求對方重新發送。

以幀的形式發送數據。傳輸到cpu做進一步的處理。(封裝與組合)

 

linux系統管理:進程管理,工作管理,系統資源查看。

正在運行的程序,佔用一定的系統資源。有哪些進程佔用了系統資源。

進程管理作用:判斷服務器健康狀態(內存,cpu);查看系統中所有進程;殺死進程;

進程的查看:ps aux 不在於怎麼用,而在於能夠看懂它的輸出信息。查看系統當中運行了哪些進程。

USER 進程的屬主,這個進程是有哪個用戶產生的;

PID 進程的ID;

%CPU 進程佔用的CPU百分比;

%MEM 佔用內存的百分比;

VSZ 進程使用的虛擬內存量(KB); 表示如果一個程序完全駐留在內存的話需要佔用多少內存空間;

RSS 該進程佔用的固定內存量(KB)(駐留中頁的數量); 指明瞭當前實際佔用了多少內存;

STAT顯示了進程當前的狀態:

1、"S":進程處在睡眠狀態,表明這些進程在等待某些事件發生--可能是用戶輸入或者系統資源的可用性;S 處於休眠狀態;

2、R 正在運行可中在隊列中可過行的;

time 進程執行起到現在總的CPU佔用時間。

command: 進程的名字

 

sudo是一種權限管理機制,管理員可以授權於一些普通用戶去執行一些 root 執行的操作,而不需要知道 root 的密碼。sudo 允許一個已授權用戶以超級用戶或者其它用戶的角色運行一個命令。(普通用戶,管理員的角色)

 

Linux wget是一個下載文件的工具,它用在命令行下。從網絡下載一個文件並保存在當前目錄(把文件下載到哪個目錄)。wget是從遠程下載的工具。

curl 查看接口是否通。

 

 

發佈了303 篇原創文章 · 獲贊 104 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章