面試官都在問 如何檢視網路 程序資訊

2022-09-06 07:21:11 字數 2486 閱讀 2819

各個大廠對於 linux 的考察中, 命令是常見考點. 命令中關於程序/網路資訊的檢視又是重中之重.

同時這些命令也是實際工作中的常用命令. 需要重點掌握.

使用 netstat 命令檢視網路連線情況

netstat -anp
執行結果如下

引數解釋:

-a 顯示所有選項

-t (tcp)僅顯示tcp相關選項

-u (udp)僅顯示udp相關選項

-n 拒絕顯示別名,能顯示數字的全部轉化成數字。

-p 顯示建立相關鏈結的程式名

關鍵列解釋:

proto 表示協議型別

localaddress 表示本地位址

foreignaddress 表示對端位址

state 表示狀態(對於 tcp 有效, udp 沒有狀態概念)

pid/program name 表示對應的程序id和程序名.

由於netstat命令列印的結果較多, 通常需要搭配grep命令來使用.

例如:檢視 8080 埠被哪個程序占用

netstat -anp |

grep 8080

執行結果:

檢視程序名為 python 的程序都有哪些連線

netstat -anp |

grep python

執行結果

使用 top 命令可以檢視程序資訊.

top
執行結果

結果解釋:

前 5 行是統計資訊區.

第一行是任務佇列資訊,同 uptime 命令的執行結果. 其中 load 表示系統負載(任務佇列的平均長度). 值越大表示當前系統就越繁忙.

第二、三行為程序和cpu的資訊。當有多個cpu時,這些內容可能會超過兩行

第四, 五行尾記憶體資訊.

第四行 mem: total 物理記憶體總量, used 使用的物理記憶體總量, free 空閒記憶體總量, buffers 用作核心快取的記憶體量.

第五行 表示 swap 分割槽的使用情況.

接下來是程序列表. 預設按照 cpu 占用情況降序排序(第一行就是當前占用 cpu 最多的程序).

常用列解釋:

pid 表示程序 id

user 表示程序擁有者的使用者id.

pr 表示程序優先順序

ni 表示 nice 值, 和 pr 搭配使用.

virt 表示虛擬記憶體使用情況

res 表示物理記憶體使用情況(如果程序使用的物理記憶體的和接近機器的物理記憶體總量, 就會出現記憶體不夠用的情況).

%cpu 表示該程序占用 cpu 的百分比(多核機器這個值可以超過 100%).

command 對應到這個程序啟動的命令.

top 的一些常見用法:

檢視占用記憶體最多的前 n 個程序

先執行 top 命令, 再使用快捷鍵 m 即可按記憶體占用降序排序
檢視 cpu 占用最多的前 n 個程序

先執行 top 命令, 再使用快捷鍵 p 即可按照 cpu 占用降序排序
檢視某個程序中的執行緒情況

top -p [pid]

然後再使用快捷鍵 h 即可檢視執行緒相關資訊.

ifconfig 命令即可

ifconfig
執行結果

由於一台主機可能同時具備多個網路介面, 檢視到的 ip 位址也就可能有多個.

網路介面對應到主機的網絡卡或者虛擬網絡卡裝置. 一台主機可以具有多個網絡卡, 也就可以有多個 ip 位址.

通過以上三個命令, 我們了解了一些檢視網路/程序資訊的基本操作. 上面只是羅列了一些最常用的部分. 還有很多進一步延伸的內容等待我們在實際工作中積累和發掘.

審稿:王海斌

面試官都在問 選擇排序

選擇排序的思想不難理解。選擇排序把資料分成兩組來看待,一組已經有序的資料和一組無序的資料,排序開始之前,有序資料的個數為0。每次從未排序的資料中選取最小值,並與未排序的最左資料進行交換,直到未排序的資料為0,則結束排序。演算法過程如下圖所示 3.1 時間複雜度選擇排序每次需要遍歷未排序的資料,尋找最...

面試官都在問 Linux命令 grep

grep是乙個文字過濾器,作用是在檔案中查詢符合我們要求的內容。第一種形式,從指定的檔案中找出匹配pattern的行 grep option pattern file1,file2,第二種形式,從管道中找出匹配pattern的行 cmd grep option pattern 說明 pattern是...

面試官都在問 快速排序C 實現

快排是c.a.r.hoare在1960提出的一種排序演算法,這是一種採用分治思想的排序演算法,大致分為三個步驟。定基準 首先選擇乙個元素作為基準值 劃分區 所有比基準小的元素置於基準左側,比基準大的元素置於右側,構成左右兩個子串行 遞迴呼叫 遞迴地呼叫此切分過程,切分其子序列,直到子串行只含有乙個值...