1. 程式人生 > >Linux 常用操作及命令

Linux 常用操作及命令

linux 命令

1. 什麽是linux服務器load average?

Load是用來度量服務器工作量的大小,即計算機cpu任務執行隊列的長度,值越大,表明包括正在運行和待運行的進程數越多。
參考資料:http://en.wikipedia.org/wiki/Load_average

2. 如何查看linux服務器負載?

可以通過w,top,uptime,procinfo命令,也可以通過/proc/loadavg文件查看。
procinfo工具安裝請參考Linux環境下安裝軟件。

3. 服務器負載高怎麽辦?

服務器負載(load/load average)是根據進程隊列的長度來顯示的。
當服務器出現負載高的現象時(建議以15分鐘平均值為參考),可能是由於CPU資源不足,I/O讀寫瓶頸,內存資源不足等原因造成,也可能是由於CPU正在進行密集型計算。

建議使用vmstat -x,iostat,top命令判斷負載過高的原因,然後找到具體占用大量資源的進程進行優化處理。

4. 如何查看服務器內存使用率?

可以通過free,top(執行後可通過shitf+m對內存排序),vmstat,procinfo命令,也可以通過/proc/meminfo文件查看。

5. 如何查看單個進程占用的內存大小?

可以使用top -p PID,pmap -x PID,ps aux|grep PID命令,也可以通過/proc/$process_id(進程的PID)/status文件查看,例如/proc/7159/status文件。

6. 如何查看正在使用的服務和端口?

可以使用netstat -tunlp,netstat -antup,lsof -i:PORT命令查看。

7. 如何查看服務器進程信息?

可以使用ps auxww|grep PID,ps -ef,lsof -p PID,top -p PID命令查看。

8. 如何殺死進程?

可以使用kill -9 PID(進程號),killall 程序名(比如killall cron)來殺死進程。
如果要殺死的是僵屍進程,則需要殺掉進程的父進程才有效果,命令為: kill -9 ppid(ppid為父進程ID號,可以通過ps -o ppid PID查找,例如ps -o ppid 32535)。

9. 如何查找僵屍進程?

可以使用top命令查看僵屍進程(zombie)的總數,使用ps -ef | grep defunct | grep -v grep查找具體僵屍進程的信息。

10. 為什麽啟動不了服務器端口?

服務器端口的啟動監聽,需要從操作系統本身以及應用程序查看。
linux操作系統1024以下的端口只能由root用戶啟動,即需要先運行sudo su –獲取root權限後再啟用服務端口。
應用程序問題,建議通過應用程序啟動日誌來排查失敗原因,例如端口沖突(騰訊服務器系統使用端口不能占用,比如36000),配置問題等。

11. 常用的linux服務器性能查看命令有哪些?

命令名稱說明
top進程監控命令,用來監控系統的整體性能。

可以顯示系統負載,進程,cpu,內存,分頁等信息,常用shift+m和shift+p來按memory和cpu使用對進程進行排序。

vmstat系統監控命令,重點側重於虛擬內存,也可以監控cpu,進程,內存分頁以及IO的狀態信息。

例如,vmstat 3 10,每隔3秒輸出結果,執行10次。

iostat用於輸出cpu狀態和IO狀態的工具,可以詳細展示系統的IO信息。

例如iostat -dxmt 10,每10秒以MB的格式輸出IO的詳細信息。

df用來檢查系統的磁盤空間占用狀況。

例如:df -m,以MB為單位展現磁盤使用狀況。

lsof列舉系統中被打開的文件,由於linux是以文件系統為基礎,此命令在系統管理中很有幫助。

例如:
lsof -i:36000,顯示使用36000端口的進程
lsof -u root,顯示以root運行的程序
lsof -c php-fpm,顯示php-fpm進程打開的文件
lsof php.ini,顯示打開php.ini的進程。

ps進程查看命令,可以用來顯示進程的詳細信息。

常用命令參數組合為,ps -ef,ps aux,推薦使用ps -A -o來自定義輸出字段。
例如:
ps -A -o pid,stat,uname,%cpu,%mem,rss,args,lstart,etime |sort -k6,6 -rn,按所列字段輸出並以第六個字段進行排序
ps -A -o comm |sort -k1 |uniq -c|sort -k1 -rn|head,列出運行實例最多的進程。

其他常用的命令和文件,free -m,du,uptime,w,/proc/stat,/proc/cpuinfo,/proc/meminfo。
參考資料:http://en.wikipedia.org/wiki/Template:Unix_commands,http://www.linuxmanpages.com/

12. Cron不生效怎麽辦?

排查步驟如下:
1) 確認crontab是否正常運行。
可以運行命令crontab -e添加如下測試條目*/1 * * * * /bin/date >> /tmp/crontest 2>&1 &,然後觀察/tmp/crontest文件。
如果有問題,建議使用ps aux|grep cron查找cron的pid,kill -9 PID結束cron進程,然後通過/etc/init.d/cron start重新啟動cron。

2) 確認cron條目中的腳本路徑為絕對路徑。

3) 查看運行cron的用戶帳號是否正確,同時查看/etc/cron.deny中是否包含此賬戶。

4) 檢查腳本的執行權限,腳本目錄以及日誌的文件權限。

5) 建議通過後臺方式運行腳本,在腳本條目後添加“&”,例如,*/1 * * * * /bin/date >> /tmp/crontest 2>&1 &

13. 如何設置雲服務器開機任務?

Linux內核啟動順序為:
/sbin/init進程啟動,
然後依次執行init初始腳本,
運行級別腳本/etc/rc.d/rc*.d,*號值等於運行模式,可以在/etc/inittab中查看,最後執行/etc/rc.d/rc.local。

如果需要配置開機任務,可以在/etc/rc.d/rc*.d中的S**rclocal文件配置,也可以在/etc/rc.d/rc.local中配置。

14. 為什麽服務器硬盤只讀?

硬盤只讀的常見原因如下:
1) 磁盤空間滿
可以通過df -m命令查看磁盤使用情況,然後刪除多余的文件釋放磁盤空間(非第三方文件不建議刪除,如果需要請確認);
2) 磁盤inode資源占用完
可以通過df -i命令查看,確認相關的進程;
3) 硬件故障

如果hosting應用通過上述方式仍無法確認原因,請撥打咨詢熱線4009100100或提交工單協助定位。

15. 如何查看linux系統日誌?

系統級別的日誌文件存放路徑為/var/log。
常用的系統日誌為/var/log/messages 。

16. 如何查找文件系統大文件?

可以首先通過df命令查看磁盤分區使用情況,比如df -m;
然後通過du命令查看具體文件夾的大小,比如du -sh ./*,du -h --max-depth=1|head -10;
使用ls命令列出文件以及大小,比如ls -lSh;
另外,也可以通過find命令直接查看特定目錄下的文件大小,比如find / -type f -size +10M -exec ls -lrt {} ;

17. 如何查看服務器操作系統版本?

可以通過下列命令查看系統版本:
uname -a,cat /proc/version,cat /etc/issue

18. 為什麽linux終端顯示中文會出現亂碼?

服務器本身沒有對顯示語言有限制,如果是終端軟件的影響中文的顯示,可以嘗試調整【選項】-【會話選項】-【外觀】(secureCRT設置,其他版本軟件請查找相關設置);
如果是純Linux shell出現亂碼,請使用export命令查看用戶環境變量,查看LANG,LC_CTYPE等環境變量設置。

19. 如何設置通過SecureCRT連接雲服務器的超時時間?

可以通過如下設置,使SecureCRT連接雲服務器時,不斷開連接:
打開secureCRT選項(Options),選擇會話選項(Session Opetions),點擊終端(Terminal),在右側反空閑(Anti-idle)的框中勾選發送協議NO-OP(Send protocol NO-OP),時間設置為每120秒(every 120 seconds)。

20. 為什麽刪除linux服務器上的文件,硬盤空間不釋放?

有時,登錄linux服務器執行 rm 命令刪除文件後,用 df 命令查看硬盤空間,發現刪除文件後可用的硬盤空間沒有增加。原因是通過 rm 命令刪除文件的時候,如果正好有其它進程在訪問該文件,通過 df 命令查看,刪除的文件占用的空間是沒有立即釋放的。

解決方法:
使用root權限執行 lsof |grep deleted ,查看正在使用被刪除文件的進程的PID,通過命令 kill -9 PID 殺掉對應的進程即可。


Linux 常用操作及命令