版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2025年測試linux面試題及答案1.如何快速定位并終止一個占用CPU資源過高的進程?請描述具體操作步驟及涉及的命令。需結合實時監(jiān)控工具與進程管理命令。首先使用`top`或`htop`實時查看進程CPU占用,`top`中按`P`鍵按CPU使用率排序,找到高占用進程的PID。若需更精準統(tǒng)計,可使用`ps-eopid,ppid,comm,%cpu,%mem--sort=-%cpu`按CPU降序排列。確認PID后,優(yōu)先使用`kill-15PID`發(fā)送SIGTERM信號嘗試正常終止;若進程無響應,使用`kill-9PID`強制終止。若進程反復啟動,需檢查是否為systemd服務(`systemctlstatus服務名`)或crontab定時任務(`crontab-l`)觸發(fā),必要時禁用服務或刪除定時任務。2.簡述Linux文件系統(tǒng)中inode的作用,以及如何查看文件的inode信息?當分區(qū)出現(xiàn)“磁盤空間足夠但無法創(chuàng)建新文件”時,可能的原因是什么?如何解決?inode(索引節(jié)點)是Linux文件系統(tǒng)中存儲文件元數(shù)據(jù)的結構,每個文件/目錄對應一個inode,記錄文件大小、權限、創(chuàng)建/修改時間、數(shù)據(jù)塊指針等信息,不存儲文件名(文件名存儲在目錄的塊中)。查看inode信息可使用`ls-i`(顯示文件inode號)或`stat文件名`(詳細元數(shù)據(jù))。無法創(chuàng)建新文件但空間足夠時,通常是因inode耗盡(分區(qū)的inode數(shù)量上限由格式化時`-N`參數(shù)或默認算法決定)。解決方法:通過`df-i`查看各分區(qū)inode使用情況,找到滿的分區(qū);刪除無用文件釋放inode(即使文件很小,刪除后也會釋放一個inode);若需長期解決,重新格式化該分區(qū)時使用`mkfs.ext4-N更大數(shù)量`增加inode總數(shù)(注意需備份數(shù)據(jù))。3.如何配置Linux系統(tǒng)的靜態(tài)IP地址?要求同時設置網(wǎng)關、DNS,并說明不同發(fā)行版(如Ubuntu22.04與CentOS9)的差異。Ubuntu22.04使用netplan管理網(wǎng)絡,配置文件位于`/etc/netplan/.yaml`。示例配置(eth0):```yamlnetwork:version:2renderer:networkdethernets:eth0:dhcp4:noaddresses:[192.168.1.100/24]routes:to:defaultvia:192.168.1.1nameservers:addresses:[8.8.8.8,114.114.114.114]```應用配置:`sudonetplanapply`。CentOS9使用NetworkManager,配置文件位于`/etc/sysconfig/network-scripts/ifcfg-eth0`。示例配置:```iniTYPE=EthernetBOOTPROTO=staticNAME=eth0DEVICE=eth0ONBOOT=yesIPADDR=192.168.1.100PREFIX=24GATEWAY=192.168.1.1DNS1=8.8.8.8DNS2=114.114.114.114```重啟網(wǎng)絡服務:`sudosystemctlrestartNetworkManager`。差異點:Ubuntu22.04默認通過netplan抽象配置層(支持YAML),底層可調(diào)用networkd或NetworkManager;CentOS9直接編輯NetworkManager的ifcfg腳本(INI格式),依賴NetworkManager服務。4.請編寫一個Shell腳本,實現(xiàn)以下功能:遍歷`/var/log`目錄下所有擴展名為`.log`的文件,統(tǒng)計每個文件中“ERROR”關鍵字的出現(xiàn)次數(shù),并將結果按次數(shù)從高到低排序,最后輸出到`/tmp/error_count.log`。要求處理大文件時高效,避免內(nèi)存溢出。腳本需考慮大文件處理效率,使用`grep`的`-c`選項統(tǒng)計次數(shù),結合`find`遍歷文件。示例如下:```bash!/bin/bash遍歷/var/log下所有.log文件,排除符號鏈接find/var/log-typef-name".log"|whilereadlogfile;do統(tǒng)計ERROR次數(shù),忽略二進制文件(-I選項)count=$(grep-I-c"ERROR""$logfile"2>/dev/null)僅輸出次數(shù)大于0的文件if["$count"-gt0];thenecho"$count$logfile"fidone|sort-nr>/tmp/error_count.log```關鍵點:`find-typef`排除目錄和鏈接;`grep-I`跳過二進制文件避免錯誤;`sort-nr`按數(shù)值逆序排序;使用管道逐行處理,避免將所有結果加載到內(nèi)存。5.如何排查Linux系統(tǒng)中SSH服務無法連接的問題?請列出詳細的排查步驟及常用工具。排查步驟:(1)確認SSH服務是否運行:`systemctlstatussshd`(CentOS)或`systemctlstatusssh`(Ubuntu),若未運行則啟動`systemctlstartsshd`。(2)檢查監(jiān)聽端口:`ss-tlnp|grepsshd`(或`netstat-tlnp|grepsshd`),確認監(jiān)聽在22端口(或自定義端口),且狀態(tài)為`LISTEN`。(3)防火墻規(guī)則檢查:使用`nftlistruleset`(nftables)或`iptables-L-n`查看是否有DROP/REJECT規(guī)則阻止22端口的入站連接。若有,添加允許規(guī)則(如`nftaddruleinetfilterinputtcpdport22accept`)。(4)客戶端連接測試:在另一臺機器使用`telnet目標IP22`或`nc-zv目標IP22`測試端口可達性,若失敗可能是網(wǎng)絡路由或防火墻問題。(5)查看SSH服務日志:`journalctl-usshd`(CentOS)或`journalctl-ussh`(Ubuntu),檢查是否有認證失敗、最大連接數(shù)限制(`MaxStartups`)或密鑰錯誤(如`/etc/ssh/sshd_config`中`PubkeyAuthentication`是否啟用)。(6)檢查sshd配置文件`/etc/ssh/sshd_config`是否有錯誤:`sshd-t`測試配置語法,若報錯需修正(如`PermitRootLogin`是否設置為`yes`/`no`,`Port`是否正確)。(7)SELinux/AppArmor狀態(tài):`sestatus`(SELinux)或`aa-status`(AppArmor),若為強制模式,可能因策略限制阻止SSH連接,可臨時關閉測試(`setenforce0`)或調(diào)整策略。6.簡述LVM(邏輯卷管理)的核心組件及擴容邏輯卷的完整步驟。假設當前有一個邏輯卷`/dev/vg0/lv_data`掛載在`/data`,需要將其擴容20GB(物理卷`/dev/sdb`有足夠未分配空間)。LVM核心組件:PV(物理卷):底層物理磁盤或分區(qū),通過`pvcreate`初始化為LVM可用。VG(卷組):多個PV的集合,提供邏輯卷的存儲空間。LV(邏輯卷):從VG中劃分的邏輯分區(qū),可格式化后掛載使用。擴容步驟:(1)檢查VG可用空間:`vgs`或`vgdisplayvg0`,確認`FreePE/Size`是否足夠20GB(PE大小默認4MB,20GB需5120個PE)。(2)若VG空間不足,需擴展VG(若`/dev/sdb`有未分配空間):`pvcreate/dev/sdb2`(假設sdb2是未使用的分區(qū))`vgextendvg0/dev/sdb2`(3)擴展LV:`lvextend-L+20G/dev/vg0/lv_data`(或`-l+5120`按PE數(shù)量擴展)。(4)檢查文件系統(tǒng)類型并調(diào)整大?。喝魹閑xt4:`resize2fs/dev/vg0/lv_data`(需確保文件系統(tǒng)未掛載,或在線調(diào)整但需內(nèi)核支持)。若為XFS:`xfs_growfs/data`(需已掛載,在線擴容)。(5)驗證擴容結果:`df-h/data`查看可用空間是否增加。7.如何監(jiān)控Linux系統(tǒng)的內(nèi)存使用情況?當系統(tǒng)出現(xiàn)內(nèi)存不足(OOM)時,如何定位導致問題的進程?監(jiān)控工具包括:`free-h`:實時查看總內(nèi)存、已用、空閑、交換空間。`top`/`htop`:按`M`鍵按內(nèi)存占用排序,查看進程內(nèi)存使用。`vmstat1`:觀察`si`(交換入)和`so`(交換出)頻率,高頻率表示內(nèi)存緊張。`pidstat-r1`:顯示進程的內(nèi)存使用統(tǒng)計(需安裝sysstat)。OOM定位步驟:(1)查看內(nèi)核日志:`dmesg|grep-i"oomkiller"`或`journalctl-b|grep-ioom`,日志會記錄OOM時被終止的進程及候選進程的評分(oom_score)。(2)檢查進程的oom_score_adj:`cat/proc/[PID]/oom_score_adj`,值越大越容易被OOMkiller選中(范圍-1000到1000)。(3)分析內(nèi)存泄漏:使用`valgrind--leak-check=full程序`(開發(fā)調(diào)試)或`pmap-x[PID]`查看進程內(nèi)存映射,定位是否有未釋放的內(nèi)存塊。(4)調(diào)整OOM行為:通過`echo-1000>/proc/[PID]/oom_adj`(舊方法)或`systemctlset-property服務名MemoryLow=100M`(systemd服務)降低進程被終止的優(yōu)先級。8.請解釋Linux內(nèi)核中cgroup(控制組)的作用,并說明如何通過cgroup限制某個進程的CPU使用率不超過20%。cgroup(ControlGroups)是Linux內(nèi)核的功能,用于限制、監(jiān)控和管理一組進程的資源使用(CPU、內(nèi)存、磁盤I/O、網(wǎng)絡等),常用于容器(如Docker)和資源隔離場景。限制CPU使用率(假設使用cgroupv1):(1)加載cgroup模塊(若未自動加載):`modprobecgroup`。(2)創(chuàng)建cgroup目錄:`sudomkdir/sys/fs/cgroup/cpu/limit_cpu20`。(3)設置CPU配額:`cpu.cfs_period_us`定義周期(默認100000微秒=0.1秒),`cpu.cfs_quota_us`定義該周期內(nèi)允許的運行時間。20%的CPU使用率即0.1秒內(nèi)允許0.02秒運行,故設置:`echo100000>/sys/fs/cgroup/cpu/limit_cpu20/cpu.cfs_period_us``echo20000>/sys/fs/cgroup/cpu/limit_cpu20/cpu.cfs_quota_us`(4)將進程PID加入cgroup:`echo[PID]>/sys/fs/cgroup/cpu/limit_cpu20/tasks`。(5)驗證:使用`top`觀察該進程的CPU占用是否被限制在20%左右(注意多核系統(tǒng)需調(diào)整配額,如4核時20%需`cpu.cfs_quota_us=80000`)。9.如何優(yōu)化Linux系統(tǒng)的I/O性能?請從文件系統(tǒng)選擇、內(nèi)核參數(shù)調(diào)整、硬件配置三個層面說明。文件系統(tǒng)選擇:高并發(fā)小文件:Btrfs(支持子卷、寫時復制)或XFS(元數(shù)據(jù)性能強)優(yōu)于ext4。大文件存儲:XFS(支持大文件,最大8EB)或ZFS(需內(nèi)核模塊,支持RAID-Z)。日志型工作負載:ext4(默認日志模式)或NTFS(通過ntfs-3g掛載)。內(nèi)核參數(shù)調(diào)整:`vm.swappiness`(`sysctl-wvm.swappiness=10`):降低交換傾向(默認60),避免頻繁換頁。`vm.dirty_background_ratio`(`sysctl-wvm.dirty_background_ratio=5`):設置內(nèi)存中臟頁比例閾值,觸發(fā)后臺flush,減少大IO延遲。`blockdev--setra4096/dev/sda`:調(diào)整磁盤讀取緩存大?。A讀塊數(shù)),匹配工作負載(大文件設大值,小文件設小值)。硬件配置:使用SSD替代HDD:減少機械延遲,提升隨機I/O性能。磁盤陣列(RAID):RAID0(條帶化,提升讀寫速度)、RAID10(鏡像+條帶,兼顧性能與冗余)。多路徑(Multipath):針對SAN存儲,通過`multipathd`實現(xiàn)鏈路冗余和負載均衡。10.當Linux系統(tǒng)啟動時卡在“StartingLSB:Bringup/downnetworking”階段,可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年中冶京誠工程技術有限公司招聘備考題庫參考答案詳解
- 2026年中國建材裝備集團有限公司所屬企業(yè)招聘備考題庫及一套答案詳解
- 2026年北京首鋼國際工程技術有限公司招聘備考題庫及參考答案詳解一套
- 2026年【招聘備考題庫】煙臺萊山口腔醫(yī)院帶答案詳解
- 2026年關于公開選聘田東縣人大常委會計劃和預決算審查咨詢專家的備考題庫有答案詳解
- 2026年寧波市教育局直屬學校教師招聘58人備考題庫及一套答案詳解
- 2026年東北農(nóng)業(yè)大學財務處招聘備考題庫完整答案詳解
- 2026年蘭州電力修造有限公司招聘備考題庫及答案詳解一套
- 2026年1月15日截止深圳市龍崗區(qū)龍城街道中心幼兒園招聘備考題庫完整答案詳解
- 2026年南安市海都醫(yī)院公開招聘編制內(nèi)衛(wèi)生類崗位9人備考題庫及1套參考答案詳解
- 掛靠設計資質(zhì)合同范本
- 人教版PEP五年級英語上冊“閱讀理解”專項練習(含答案)
- 中國養(yǎng)老產(chǎn)業(yè)政策法規(guī)匯編
- 中學生網(wǎng)絡社交行為調(diào)查報告
- 新能源企業(yè)市場推廣策略及實施方案
- 2025-2026學年大象版小學科學五年級上冊期末復習卷及答案
- 2025年外貿(mào)綜合服務平臺建設項目可行性研究報告及總結分析
- 精益工程師考試試題及答案2
- GB/T 20013.3-2025核醫(yī)學儀器例行試驗第3部分:正電子發(fā)射斷層成像裝置
- 生命生態(tài)安全四年級課件
- 研發(fā)部門年終述職報告
評論
0/150
提交評論