1. 什么是linux服務(wù)器load average?
Load是用來(lái)度量服務(wù)器工作量的大小,即計(jì)算機(jī)cpu任務(wù)執(zhí)行隊(duì)列的長(zhǎng)度,值越大,表明包括正在運(yùn)行和待運(yùn)行的進(jìn)程數(shù)越多。
參考資料:http://en.wikipedia.org/wiki/Load_average
2. 如何查看linux服務(wù)器負(fù)載?
可以通過(guò)w,top,uptime,procinfo命令,也可以通過(guò)/proc/loadavg文件查看。
3. 服務(wù)器負(fù)載高怎么辦?
服務(wù)器負(fù)載(load/load average)是根據(jù)進(jìn)程隊(duì)列的長(zhǎng)度來(lái)顯示的。
當(dāng)服務(wù)器出現(xiàn)負(fù)載高的現(xiàn)象時(shí)(建議以15分鐘平均值為參考),可能是由于CPU資源不足,I/O讀寫瓶頸,內(nèi)存資源不足等原因造成,也可能是由于CPU正在進(jìn)行密集型計(jì)算。
建議使用vmstat -x,IOStat,top命令判斷負(fù)載過(guò)高的原因,然后找到具體占用大量資源的進(jìn)程進(jìn)行優(yōu)化處理。
4. 如何查看服務(wù)器內(nèi)存使用率?
可以通過(guò)free,top(執(zhí)行后可通過(guò)shitf+m對(duì)內(nèi)存排序),vmstat,procinfo命令,也可以通過(guò)/proc/meminfo文件查看。
5. 如何查看單個(gè)進(jìn)程占用的內(nèi)存大小?
可以使用top -p PID,pmap -x PID,ps aux|grep PID命令,也可以通過(guò)/proc/$process_id(進(jìn)程的PID)/status文件查看,例如/proc/7159/status文件。
6. 無(wú)法從linux服務(wù)器A登錄到服務(wù)器B怎么辦
請(qǐng)開(kāi)發(fā)者首先確認(rèn)服務(wù)器A和B是屬于同一個(gè)應(yīng)用,不同應(yīng)用無(wú)法交叉登錄。
1. 當(dāng)服務(wù)器A無(wú)法登錄服務(wù)器B時(shí),可以使用ping IP和telnet IP 36000命令確認(rèn)服務(wù)器B是否死機(jī),ssh服務(wù)是否正常。
如果有異常,重啟服務(wù)器。
2. 如果可以通過(guò)客戶端直接訪問(wèn)服務(wù)器B,但是不能從服務(wù)器A登錄服務(wù)器B,AB之間網(wǎng)絡(luò)不能互通。
。
7. 如何查看正在使用的服務(wù)和端口?
可以使用netstat -tunlp,netstat -antup,lsof -i:PORT命令查看。
8. 如何查看服務(wù)器進(jìn)程信息?
可以使用ps auxww|grep PID,ps -ef,lsof -p PID,top -p PID命令查看。
可以使用kill -9 PID(進(jìn)程號(hào)),killall 程序名(比如killall cron)來(lái)殺死進(jìn)程。
如果要?dú)⑺赖氖墙┦M(jìn)程,則需要?dú)⒌暨M(jìn)程的父進(jìn)程才有效果,命令為: kill -9 ppid(ppid為父進(jìn)程ID號(hào),可以通過(guò)ps -o ppid PID查找,例如ps -o ppid 32535)。
ppid 32535)。
10. 如何查找僵尸進(jìn)程?
可以使用top命令查看僵尸進(jìn)程(zombie)的總數(shù),使用ps -ef | grep defunct | grep -v grep查找具體僵尸進(jìn)程的信息。
11. 如何在內(nèi)網(wǎng)服務(wù)器間傳輸數(shù)據(jù)?
同一應(yīng)用下的不同機(jī)器,可以通過(guò)如下命令實(shí)現(xiàn)文件傳輸:
scp -P port(使用36000端口) /home/user/localfilename(本地文件路徑) user(使用Appid)@serverip:/home/user/removefilename(目標(biāo)文件路徑)
rsync -e 'ssh -p port(使用36000端口) -q' /home/user/localfilename (本地文件路徑) user(使用appid)@serverip:/home/user/removefilename(目標(biāo)文件路徑)
服務(wù)器端口的啟動(dòng)監(jiān)聽(tīng),需要從操作系統(tǒng)本身以及應(yīng)用程序查看。
linux操作系統(tǒng)1024以下的端口只能由root用戶啟動(dòng),即需要先運(yùn)行sudo su –獲取root權(quán)限后再啟用服務(wù)端口。
應(yīng)用程序問(wèn)題,建議通過(guò)應(yīng)用程序啟動(dòng)日志來(lái)排查失敗原因,例如端口沖突(騰訊服務(wù)器系統(tǒng)使用端口不能占用,比如36000),配置問(wèn)題等。
用,比如36000),配置問(wèn)題等。
13. 常用的linux服務(wù)器性能查看命令有哪些?
命令名稱
說(shuō)明
top
進(jìn)程監(jiān)控命令,用來(lái)監(jiān)控系統(tǒng)的整體性能。
可以顯示系統(tǒng)負(fù)載,進(jìn)程,cpu,內(nèi)存,分頁(yè)等信息,常用shift+m和shift+p來(lái)按memory和cpu使用對(duì)進(jìn)程進(jìn)行排序。
vmstat
系統(tǒng)監(jiān)控命令,重點(diǎn)側(cè)重于虛擬內(nèi)存,也可以監(jiān)控cpu,進(jìn)程,內(nèi)存分頁(yè)以及IO的狀態(tài)信息。
例如,vmstat 3 10,每隔3秒輸出結(jié)果,執(zhí)行10次。
iostatc
用于輸出cpu狀態(tài)和IO狀態(tài)的工具,可以詳細(xì)展示系統(tǒng)的IO信息。
例如iostat -dxmt 10,每10秒以MB的格式輸出IO的詳細(xì)信息。
df
用來(lái)檢查系統(tǒng)的磁盤空間占用狀況。
例如:df -m,以MB為單位展現(xiàn)磁盤使用狀況。
lsof
列舉系統(tǒng)中被打開(kāi)的文件,由于linu
例如:
lsof -i:36000,顯示使用36000端口的進(jìn)程
lsof -u root,顯示以root運(yùn)行的程序
lsof -c php-fpm,顯示php-fpm進(jìn)程打開(kāi)的文件
lsof php.ini,顯示打開(kāi)php.ini的進(jìn)程。
f php.ini,顯示打
常用命令參數(shù)組合為,ps -ef,ps aux,推薦使用ps -A -o來(lái)自定義輸出字段。
例如:
ps -A -o pid,stat,uname,%cpu,%mem,rss,args,lstart,etime |sort -k6,6 -rn,按所列字段輸出并以第六個(gè)字段進(jìn)行排序
ps -A -o comm |sort -k1 |uniq -c|sort -k1 -rn|head,列出運(yùn)
其他常用的命令和文件,free -m,du,uptime,w,/proc/stat,/proc/cpuinfo,/proc/meminfo。
參考資料:http://en.wikipedia.org/wiki/Template:Unix_commands,http://www.linuxmanpages.com/
mplate:Un
排查步驟如下:
1. 確認(rèn)crontab是否正常運(yùn)行。
可以運(yùn)行命令crontab -e添加如下測(cè)試條目*/1 * * * * /bin/date >> /tmp/crontest 2>&1 &,然后觀察/tmp/crontest文件。
如果有問(wèn)題,建議使用ps aux|grep cron查找cron的pid,kill -9 PID結(jié)束cron進(jìn)程,然后通過(guò)/etc/init.d/cron start重新啟動(dòng)cron。
2. 確認(rèn)cron條目中的腳本路徑為絕對(duì)路徑。
3. 查看運(yùn)行cron的用戶帳號(hào)是否正確,同時(shí)查看/etc/cron.deny中是否包含此賬戶。
4. 檢查腳本的執(zhí)行權(quán)限,腳本目錄以及日志的文件權(quán)限。
5. 建議通過(guò)后臺(tái)方式運(yùn)行腳本,在腳本條目后添加“&”,例如,*/1 * * * * /bin/date >> /tmp/crontest 2>&1 &
Linux內(nèi)核啟動(dòng)順序?yàn)椋?/p>
/sbin/init進(jìn)程啟動(dòng),
然后依次執(zhí)行init初始腳本,
運(yùn)行級(jí)別腳本/etc/rc.d/rc*.d,*號(hào)值等于運(yùn)行模式,可以在/etc/inittab中查看,
最后是/etc/rc.d/rc.local。
init初始腳本,
運(yùn)行級(jí)別腳本/etc/rc.d/rc*.d,*號(hào)值等于運(yùn)行模式,可以在/etc/inittab中查看,
最后是/etc/rc.d/rc
硬盤只讀的常見(jiàn)原因如下:
1. 磁盤空間滿
可以通過(guò)df -m命令查看磁盤使用情況,然后刪除多余的文件釋放磁盤空間;
2. 磁盤inode資源占用完
可以通過(guò)df -i命令查看,確認(rèn)相關(guān)的進(jìn)程;
3. 硬件故障
下:
系統(tǒng)級(jí)別的日志文件存放路徑為/var/log。
常用的系統(tǒng)日志為/var/log/mess
node資源占用完
可以通
用完
可以通
可以首先通過(guò)df命令查看磁盤分區(qū)使用情況,比如df -m;
然后:
通過(guò)du命令查看具體文件夾的大小,比如du -sh ./*,du -h --max-depth=1|head -10;
使用ls命令列出文件以及大小,比如ls -lSh;
另外,也可以通過(guò)find命令直接查看特定目錄下的文件大小,比如find / -type f -size +10M -exec ls -lrt {} ;
depth=
可以通過(guò)下列命令查看系統(tǒng)版本:
uname -a,cat /proc/version,cat /etc/issue
錄下的文件大小,比如find / -type f -size +10M -exec ls -lrt {} ;
19. 如何查
可以通過(guò)下列命令查看系統(tǒng)版本:
uname -a,cat /proc/version
roc/version
服務(wù)器本身沒(méi)有對(duì)顯示語(yǔ)言有限制,如果是終端軟件的影響中文的顯示
可以嘗試調(diào)整 選項(xiàng)-會(huì)話選項(xiàng)-外觀(secureCRT設(shè)置,其他版本軟件請(qǐng)查找相關(guān)設(shè)置);
如果是純Linux shell出現(xiàn)亂碼,請(qǐng)使用export命令查看用戶環(huán)境變量,查看LANG,LC_CTYPE等環(huán)境變量設(shè)置。
器本身沒(méi)有對(duì)顯示語(yǔ)言有限制,如果是終端軟件的影響中文的
可以通過(guò)如下設(shè)置,使SecureCRT連接CVM時(shí),不斷開(kāi)連接:
打開(kāi)secureCRT選項(xiàng)(Options),選擇會(huì)話選項(xiàng)(Session Opetions),點(diǎn)擊終端(Terminal),在右側(cè)反空閑(Anti-idle)的框中勾選發(fā)送協(xié)議NO-OP(Send protocol NO-OP),時(shí)間設(shè)置為每120秒(eve
打開(kāi)secureCRT選項(xiàng)(Options),選擇會(huì)
T選項(xiàng)(Options),選擇會(huì)
現(xiàn)象:
登錄linux服務(wù)器,執(zhí)行 rm 命令刪除文件,用 df 命令查看硬盤空間,發(fā)現(xiàn)刪除文件后,可用的硬盤空間沒(méi)有增加。
原因:
通過(guò) rm 命令刪除文件的時(shí)候,如果正好有其它進(jìn)程在訪問(wèn)該文件,通過(guò) df 命令查看,刪除的文件占用的空間是沒(méi)有立即釋放的。
解決方法:
使用root權(quán)限執(zhí)行 lsof |grep deleted ,查看正在使用被刪除文件的進(jìn)程的PID,通過(guò)命令 k
。
原因:
通過(guò) rm 命令刪除文件的時(shí)候,如果正好有其它進(jìn)程在訪問(wèn)該文件,通過(guò) df 命令查看,刪除的文件占用的空間是沒(méi)有立即釋放的。
解決方法:
使用root權(quán)限執(zhí)行 lsof |grep deleted ,查看正在使用被刪除文件的進(jìn)程的PID,通過(guò)命令 kill -9 PID 殺掉對(duì)應(yīng)的進(jìn)程即可。
ill -9 PID 殺掉對(duì)應(yīng)的進(jìn)程即可。