純幹貨:23個(gè)服務器(qì)常見問(wèn)題處理(lǐ)方法!
2023/9/22 10:57:10 【次浏覽】 本站
服務器(qì)向來(lái)是企業(yè)最重要的(de)應用之一,是企業(yè)信息儲存的(de)關鍵,關系到企業(yè)是否能正常展開(kāi)業(yè)務運作(zuò)。但(dàn)是在服務器(qì)的(de)日(rì)常運行之中,由于服務器(qì)本身(shēn)24小(xiǎo)時(shí)不間(jiān)斷運作(zuò),再加上(shàng)複雜(zá)的(de)硬件(jiàn)結構和(hé)運行原理(lǐ),導緻服務器(qì)常常會遇到各種問(wèn)題,可能一些小(xiǎo)問(wèn)題也會使管理(lǐ)人(rén)員(yuán)沒有(yǒu)而引發更大的(de)問(wèn)題。因此,管理(lǐ)人(rén)員(yuán)需要對(duì)常見故障有(yǒu)一定的(de)了解,并知道(dào)如何解決。

下(xià)面數據灣精心整理(lǐ)了一些服務器(qì)的(de)常見問(wèn)題彙總,幫助各位排憂解難。
1.服務器(qì)遠(yuǎn)程桌面連接超出最大連接數
由于服務器(qì)默認為(wèi)允許連接數為(wèi)2個(gè),如果登陸後忘記注銷,而是直接關閉遠(yuǎn)程桌面的(de)話(huà),服務器(qì)識别此次登陸還(hái)是留在服務器(qì)端的(de)。
出現(xiàn)這(zhè)種情況,最常見的(de)就是重啓服務器(qì),但(dàn)是,如果是高(gāo)峰期,重啓服務器(qì)帶來(lái)的(de)損失是顯而易見的(de)。那(nà)麽此時(shí),就可以利用mstsc/console指令進行強行登陸了。
打開(kāi)“運行”框,鍵入“mstscv:xxx.xxx.xxx.xxx(服務器(qì)IP)/console”,即可強行登陸到遠(yuǎn)程桌面了。

2.無法删除的(de)文(wén)件(jiàn)該怎麽清理(lǐ)
遇到這(zhè)種情況,可能是該文(wén)件(jiàn)還(hái)在運行中,可以重啓删之,或者運行CMD,輸入arrtib-a-s-h-r想要删除的(de)文(wén)件(jiàn)夾名,最後輸入del想要删除的(de)文(wén)件(jiàn)夾名即可删除,運行該命令後無法恢複,請慎用。

3.服務器(qì)負載高(gāo)怎麽辦?
服務器(qì)負載(load/loadaverage)是根據進程隊列的(de)長(cháng)度來(lái)顯示的(de)。
當服務器(qì)出現(xiàn)負載高(gāo)的(de)現(xiàn)象時(shí)(建議(yì)以15分鐘(zhōng)平均值為(wèi)參考),可能是由于CPU資源不足,I/O讀寫瓶頸,內(nèi)存資源不足等原因造成,也可能是由于CPU正在進行密集型計(jì)算(suàn)。
建議(yì)使用vmstat-x,iostat,top命令判斷負載過高(gāo)的(de)原因,然後找到具體(tǐ)占用大量資源的(de)進程進行優化(huà)處理(lǐ)。

4.如何查看(kàn)服務器(qì)內(nèi)存使用率?
可以通(tōng)過free,top(執行後可通(tōng)過shitf+m對(duì)內(nèi)存排序),vmstat,procinfo命令,也可以通(tōng)過/proc/meminfo文(wén)件(jiàn)查看(kàn)。

5.如何查看(kàn)單個(gè)進程占用的(de)內(nèi)存大小(xiǎo)?
可以使用top-pPID,pmap-xPID,psaux|grepPID命令,也可以通(tōng)過/proc/$process_id(進程的(de)PID)/status文(wén)件(jiàn)查看(kàn),例如/proc/7159/status文(wén)件(jiàn)。
6.無法從(cóng)linux服務器(qì)A登錄到服務器(qì)B怎麽辦?
請開(kāi)發者首先确認服務器(qì)A和(hé)B是屬于同一個(gè)應用,不同應用無法交叉登錄。
1)、當服務器(qì)A無法登陸服務器(qì)B時(shí),可以使用pingIP和(hé)telnetIP36000命令确認服務器(qì)B是否死機(jī),ssh服務是否正常。如果有(yǒu)異常,重啓服務器(qì)。
2)、如果可以通(tōng)過客戶端直接訪問(wèn)服務器(qì)B,但(dàn)是不能從(cóng)服務器(qì)A登陸服務器(qì)B,AB之間(jiān)網絡不能互通(tōng)。

7.如何查看(kàn)正在使用的(de)服務和(hé)端口?
可以使用netstat-tunlp,netstat-antup,lsof-i:PORT命令查看(kàn)。
8.如何查看(kàn)服務器(qì)進程信息?
可以使用psauxww|grepPID,ps-ef,lsof-pPID,top-pPID命令查看(kàn)。
9.如何殺死進程?
可以使用kill-9PID(進程号),killall程序名(比如killallcron)來(lái)殺死進程。
如果要殺死的(de)是僵屍進程,則需要殺掉進程的(de)父進程才有(yǒu)效果,命令為(wèi):kill-9ppid(ppid為(wèi)父進程ID号,可以通(tōng)過ps-oppidPID查找,例如ps-oppid32535)。

10.如何查找僵屍進程?
可以使用top命令查看(kàn)僵屍進程(zombie)的(de)總數,使用ps-ef|grepdefunct|grep-vgrep查找具體(tǐ)僵屍進程的(de)信息。
11.如何在內(nèi)網服務器(qì)間(jiān)傳輸數據?同一應用下(xià)的(de)不同機(jī)器(qì),可以通(tōng)過如下(xià)命令實現(xiàn)文(wén)件(jiàn)傳輸:
scp-Pport(使用36000端口)/home/user/localfilename(本地(dì)文(wén)件(jiàn)路(lù)徑)user(使用appid)@serverip:/home/user/removefilename(目标文(wén)件(jiàn)路(lù)徑)
rsync-e'ssh-pport(使用36000端口)-q'/home/user/localfilename(本地(dì)文(wén)件(jiàn)路(lù)徑)user(使用appid)@serverip:/home/user/removefilename(目标文(wén)件(jiàn)路(lù)徑)。

12.為(wèi)什麽啓動不了服務器(qì)端口?服務器(qì)端口的(de)啓動監聽(tīng),需要從(cóng)操作(zuò)系統本身(shēn)以及應用程序查看(kàn)。
linux操作(zuò)系統1024以下(xià)的(de)端口隻能由root用戶啓動,即需要先運行sudosu–獲取root權限後再啓用服務端口。
應用程序問(wèn)題,建議(yì)通(tōng)過應用程序啓動日(rì)志(zhì)來(lái)排查失敗原因,例如端口沖突(騰訊服務器(qì)系統使用端口不能占用,比如36000),配置問(wèn)題等。
13.常用的(de)linux服務器(qì)性能查看(kàn)命令有(yǒu)哪些?命令名稱說(shuō)明(míng)
top:進程監控命令,用來(lái)監控系統的(de)整體(tǐ)性能。
可以顯示系統負載,進程,cpu,內(nèi)存,分頁等信息,常用shift+m和(hé)shift+p來(lái)按memory和(hé)cpu使用對(duì)進程進行排序。

vmstat:系統監控命令,重點側重于虛拟內(nèi)存,也可以監控cpu,進程,內(nèi)存分頁以及IO的(de)狀态信息。
例如,vmstat310,每隔3秒輸出結果,執行10次。
iostatc:用于輸出cpu狀态和(hé)IO狀态的(de)工(gōng)具,可以詳細展示系統的(de)IO信息。
例如iostat-dxmt10,每10秒以MB的(de)格式輸出IO的(de)詳細信息。
df:用來(lái)檢查系統的(de)磁盤空間(jiān)占用狀況。
例如:df-m,以MB為(wèi)單位展現(xiàn)磁盤使用狀況。
lsof:列舉系統中被打開(kāi)的(de)文(wén)件(jiàn),由于linux是以文(wén)件(jiàn)系統為(wèi)基礎,此命令在系統管理(lǐ)中很(hěn)有(yǒu)幫助。
例如:
lsof-i:36000,顯示使用36000端口的(de)進程
lsof-uroot,顯示以root運行的(de)程序
lsof-cphp-fpm,顯示php-fpm進程打開(kāi)的(de)文(wén)件(jiàn)
lsofphp.ini,顯示打開(kāi)php.ini的(de)進程。
ps:進程查看(kàn)命令,可以用來(lái)顯示進程的(de)詳細信息。
常用命令參數組合為(wèi),ps-ef,psaux,推薦使用ps-A-o來(lái)自(zì)定義輸出字段。
ps-A-opid,stat,uname,%cpu,%mem,rss,args,lstart,etime|sort-k6,6-rn,按所列字段輸出并以第六個(gè)字段進行排序
ps-A-ocomm|sort-k1|uniq-c|sort-k1-rn|head,列出運行實例最多的(de)進程。
其他(tā)常用的(de)命令和(hé)文(wén)件(jiàn),free-m,du,uptime,w,/proc/stat,/proc/cpuinfo,/proc/meminfo。
14.Cron不生(shēng)效怎麽辦?排查步驟如下(xià):
1)、确認crontab是否正常運行。
可以運行命令crontab-e添加如下(xià)測試條目*/1****/bin/date>>/tmp/crontest2>&1&,然後觀察/tmp/crontest文(wén)件(jiàn)。
如果有(yǒu)問(wèn)題,建議(yì)使用psaux|grepcron查找cron的(de)pid,kill-9PID結束cron進程,然後通(tōng)過/etc/init.d/cronstart重新啓動cron。
2)、确認cron條目中的(de)腳本路(lù)徑為(wèi)絕對(duì)路(lù)徑。
3)、查看(kàn)運行cron的(de)用戶帳号是否正确,同時(shí)查看(kàn)/etc/cron.deny中是否包含此賬戶。
4)、檢查腳本的(de)執行權限,腳本目錄以及日(rì)志(zhì)的(de)文(wén)件(jiàn)權限。
5)、建議(yì)通(tōng)過後台方式運行腳本,在腳本條目後添加“&”,例如,*/1****/bin/date>>/tmp/crontest2>&1&
15.如何設置opensuse服務器(qì)開(kāi)機(jī)任務?Linux內(nèi)核啓動順序為(wèi):
/sbin/init進程啓動,
然後依次執行init初始腳本,
運行級别腳本/etc/rc.d/rc*.d,*号值等于運行模式,可以在/etc/inittab中查看(kàn),
最後是/etc/rc.d/rc.local。
如果需要配置開(kāi)機(jī)任務,可以在/etc/rc.d/rc*.d中的(de)S**rclocal文(wén)件(jiàn)配置,也可以在/etc/rc.d/rc.local中配置。
16.為(wèi)什麽服務器(qì)硬盤隻讀?硬盤隻讀的(de)常見原因如下(xià):
1)、磁盤空間(jiān)滿
可以通(tōng)過df-m命令查看(kàn)磁盤使用情況,然後删除多餘的(de)文(wén)件(jiàn)釋放(fàng)磁盤空間(jiān);
2)、磁盤inode資源占用完
可以通(tōng)過df-i命令查看(kàn),确認相(xiàng)關的(de)進程;
3)、硬件(jiàn)故障。
17.如何查看(kàn)linux系統日(rì)志(zhì)?系統級别的(de)日(rì)志(zhì)文(wén)件(jiàn)存放(fàng)路(lù)徑為(wèi)/var/log。
常用的(de)系統日(rì)志(zhì)為(wèi)/var/log/messages。
18.如何查找文(wén)件(jiàn)系統大文(wén)件(jiàn)?可以首先通(tōng)過df命令查看(kàn)磁盤分區(qū)使用情況,比如df-m;
然後:
通(tōng)過du命令查看(kàn)具體(tǐ)文(wén)件(jiàn)夾的(de)大小(xiǎo),比如du-sh./*,du-h--max-depth=1|head-10;
使用ls命令列出文(wén)件(jiàn)以及大小(xiǎo),比如ls-lSh;
另外(wài),也可以通(tōng)過find命令直接查看(kàn)特定目錄下(xià)的(de)文(wén)件(jiàn)大小(xiǎo),比如find/-typef-size+10M-execls-lrt{}\;
19.如何查看(kàn)服務器(qì)操作(zuò)系統版本?可以通(tōng)過下(xià)列命令查看(kàn)系統版本:
uname-a,cat/proc/version,cat/etc/issue
20.如何重啓服務器(qì)?方式1:在服務器(qì)上(shàng)以root運行shutdown-rnow命令進行重啓。
方式2:如果方式1不生(shēng)效,可以嘗試在服務器(qì)上(shàng)以root運行reboot命令進行重啓。
21.linux終端顯示中文(wén)會出現(xiàn)亂碼?服務器(qì)本身(shēn)沒有(yǒu)對(duì)顯示語言有(yǒu)限制,如果是終端軟件(jiàn)的(de)影響中文(wén)的(de)顯示
可以嘗試調整選項-會話(huà)選項-外(wài)觀(secureCRT設置,其他(tā)版本軟件(jiàn)請查找相(xiàng)關設置);
如果是純Linuxshell出現(xiàn)亂碼,請使用export命令查看(kàn)用戶環境變量,查看(kàn)LANG,LC_CTYPE等環境變量設置。

22.如何設置通(tōng)過SecureCRT連接CVM服務器(qì)的(de)超時(shí)時(shí)間(jiān)?可以通(tōng)過如下(xià)設置,使SecureCRT連接CVM時(shí),不斷開(kāi)連接:
打開(kāi)secureCRT選項(Options),選擇會話(huà)選項(SessionOpetions),點擊終端(Terminal),在右側反空閑(Anti-idle)的(de)框中勾選發送協議(yì)NO-OP(SendprotocolNO-OP),時(shí)間(jiān)設置為(wèi)每120秒(every120seconds)。
23.為(wèi)什麽删除linux服務器(qì)上(shàng)的(de)文(wén)件(jiàn),硬盤空間(jiān)不釋放(fàng)?現(xiàn)象:
登錄linux服務器(qì),執行rm命令删除文(wén)件(jiàn),用df命令查看(kàn)硬盤空間(jiān),發現(xiàn)删除文(wén)件(jiàn)後,可用的(de)硬盤空間(jiān)沒有(yǒu)增加。
原因:
通(tōng)過rm命令删除文(wén)件(jiàn)的(de)時(shí)候,如果正好(hǎo)有(yǒu)其它進程在訪問(wèn)該文(wén)件(jiàn),通(tōng)過df命令查看(kàn),删除的(de)文(wén)件(jiàn)占用的(de)空間(jiān)是沒有(yǒu)立即釋放(fàng)的(de)。
解決方法:
使用root權限執行lsof|grepdeleted,查看(kàn)正在使用被删除文(wén)件(jiàn)的(de)進程的(de)PID,通(tōng)過命令kill-9PID殺掉對(duì)應的(de)進程即可。
手機(jī)掃碼查看(kàn)當前文(wén)章(zhāng):
如本網轉載稿涉及版權等問(wèn)題,請作(zuò)者見稿後在兩周內(nèi)速來(lái)電(diàn)與我們聯系, 詳見版權聲明(míng)