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