Linux面试题总结(2022最新版)
Linux面試題總結(jié)(2022最新版)
關(guān)于作者
🐶 程序猿周周
?? 短視頻小廠BUG攻城獅
🤺 如果文章對你有幫助,記得關(guān)注、點贊、收藏,一鍵三連哦,你的支持將成為我最大的動力
關(guān)于本文
本文是 Java 面試總結(jié)系列的第5??篇文章,該專欄將整理和梳理筆者作為 Java 后端程序猿在日常工作以及面試中遇到的實際問題,通過這些問題的系統(tǒng)學(xué)習(xí),也幫助筆者順利拿到阿里、字節(jié)、華為、快手等Offer,也祝愿大家能夠早日斬獲自己心儀的Offer。由于筆者能力有限,如若有錯誤或疏忽還望各位大佬們不吝指出…
| MySQL數(shù)據(jù)庫面試題總結(jié)(2022版) | https://blog.csdn.net/adminpd/article/details/122910606 |
| Redis面試題總結(jié)(2022版) | https://blog.csdn.net/adminpd/article/details/122934938 |
| 計算機(jī)網(wǎng)絡(luò)面試題總結(jié)(2022版) | https://blog.csdn.net/adminpd/article/details/122973684 |
| 操作系統(tǒng)面試題總結(jié)(2022版) | https://blog.csdn.net/adminpd/article/details/122994599 |
| Linux面試題總結(jié)(2022版) | https://blog.csdn.net/adminpd/article/details/122994862 |
| Spring面試題總結(jié)(2022版) | https://blog.csdn.net/adminpd/article/details/123016872 |
| Java基礎(chǔ)面試題總結(jié)(2022版) | https://blog.csdn.net/adminpd/article/details/123080189 |
文章目錄
- 一、概念
- 1、如何理解一切接文件?
- 二、命令
- 1、說一下用戶權(quán)限配置?
- 2、哪些常用命令?
- 3、常用命令的參數(shù)理解?
- 三、實操
- 1、有哪些抓包方式?
- 2、CPU 負(fù)載過高如何處理?
- 3、服務(wù)響應(yīng)慢改如何排查?
一、概念
1、如何理解一切接文件?
Linux 中所有內(nèi)容都是以文件的形式保存和管理,包括一切軟硬件。 這樣做最明顯的好處是,開發(fā)者僅需要一套 API 和開發(fā)工具即可調(diào)取 Linux 系統(tǒng)中絕大部分的資源。同時也帶來不利之處,如使用任何硬件設(shè)備都必須與根目錄下某一目錄執(zhí)行掛載操作,否則無法使用。
二、命令
1、說一下用戶權(quán)限配置?
使用 chown(change mode) 命令修改文件目錄的權(quán)限,其中讀寫執(zhí)行的權(quán)限值分別是 4、2、1,同時三組數(shù)字包含所有者,同組用戶,其他用戶的權(quán)限。
2、哪些常用命令?
1)pwd:顯示當(dāng)前所在位置;
2)su:申請切換root用戶,需要輸入root用戶密碼(sudo su是當(dāng)前用戶暫時申請root權(quán)限,需要輸入當(dāng)前用戶密碼);
3)grep:要搜索的字符串 要搜索的文件 --color : 搜索命令,–color 代表高亮顯示;
4)ps -ef || ps -aux:兩者的區(qū)別是展示格式不同(System V風(fēng)格和BSD風(fēng)格);
5)kill -9 [pid] : 銷毀進(jìn)程(-9表示強(qiáng)制停止),先用ps查找進(jìn)程,然后用kill掉;
6)find :尋找;
7)tar -zcvf :打包并壓縮文件 ;tar -xvf 壓縮文件 - C 解壓的位置 : 解壓壓縮包;
8)free : 顯示系統(tǒng)內(nèi)存的使用情況,包括物理內(nèi)存、交換內(nèi)存(swap)和內(nèi)核緩沖區(qū)內(nèi)存;
9)wget : 是從遠(yuǎn)程下載的工具 ; curl ;
10)top : 監(jiān)控系統(tǒng)狀況,比如CPU、內(nèi)存的使用,顯示系統(tǒng)上正在運(yùn)行的進(jìn)程 load average(系統(tǒng)負(fù)載,就是進(jìn)程隊列的長度);
11)vmstat : 虛擬內(nèi)存性能監(jiān)控、CPU 監(jiān)控。
ref
3、常用命令的參數(shù)理解?
[Linux常用命令的常用參數(shù)](https://www.cnblogs.com/autoria/p/6123449.html
三、實操
1、有哪些抓包方式?
-
tcpdump https://www.cnblogs.com/fonxian/p/6565209.html
-
wireshark https://blog.csdn.net/hnjb5873/article/details/48657001
2、CPU 負(fù)載過高如何處理?
系統(tǒng)平均負(fù)載被定義為在特定時間間隔內(nèi)運(yùn)行隊列中(在 CPU 上運(yùn)行或者等待運(yùn)行多少進(jìn)程)的平均進(jìn)程數(shù)。
如果一個進(jìn)程滿足以下條件則其就會位于運(yùn)行隊列中:
- 它沒有在等待 I/O 操作的結(jié)果
- 它沒有主動進(jìn)入等待狀態(tài)(沒有調(diào)用 wait)
- 沒有被停止(如等待終止)
在 Linux 中,進(jìn)程分為三種狀態(tài),一種是阻塞的進(jìn)程(blocked process),一種是可運(yùn)行的進(jìn)程(runnable process),另外就是正在運(yùn)行的進(jìn)程(running process)。
進(jìn)程可運(yùn)行狀態(tài)時,它處在一個運(yùn)行隊列 run queue 中,與其他可運(yùn)行進(jìn)程爭奪 CPU 時間。系統(tǒng)的 load 是指正在運(yùn)行和準(zhǔn)備好運(yùn)行的進(jìn)程的總數(shù)。 比如現(xiàn)在系統(tǒng)有 2 個正在運(yùn)行的進(jìn)程,3 個可運(yùn)行進(jìn)程,那么系統(tǒng)的 load 就是 5。load average 就是一定時間內(nèi)的 load 數(shù)量。
一般來說只要每個CPU的當(dāng)前活動進(jìn)程數(shù)不大于 3 那么系統(tǒng)的性能就是良好的,如果每個 CPU 的任務(wù)數(shù)大于 5,那么就表示這臺機(jī)器的性能有嚴(yán)重問題。
排查思路
1)首先通過命令 ps ux 排查哪些進(jìn)程 cpu 占用率高;
2)查看對應(yīng) java 進(jìn)程的每個線程的 CPU 占用率。通過命令 ps -Lp 15047 cu;
3)追蹤線程內(nèi)部,查看 load 過高原因。通過命令 jstack 15047。
當(dāng)然第三步也可打印線程 jstack pidof java > stack.out,查找到對應(yīng)的 threadid,再反查代碼。
cpu load過高問題排查
3、服務(wù)響應(yīng)慢改如何排查?
總結(jié)
以上是生活随笔為你收集整理的Linux面试题总结(2022最新版)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 401 binary watch
- 下一篇: 程序员狂想曲