linux學習(2):linux服務器經常使用操做和命令

linux服務器經常使用操做和命令

目錄

1. 什麼是linux服務器load average?
2. 如何查看linux服務器負載
3. 服務器負載高怎麼辦?
4. 如何查看服務器內存使用率?
5. 如何查看單個進程佔用的內存大小?
6. 沒法從linux服務器A登陸到服務器B怎麼辦?
7. 如何查看正在使用的服務和端口?
8. 如何查看服務器進程信息?
9. 如何殺死進程?
10. 如何查找殭屍進程?
11. 如何在內網服務器間傳輸數據?
12. 爲何啓動不了服務器端口?
13. 經常使用的linux服務器性能查看命令有哪些?
14. Cron不生效怎麼辦?
15. 如何設置opensuse服務器開機任務?
16. 爲何服務器硬盤只讀?
17. 如何查看linux系統日誌?
18. 如何查找文件系統大文件?
19. 如何查看服務器操做系統版本?
20. 如何重啓服務器?
21. 爲何linux終端顯示中文會出現亂碼?
22. 如何設置經過SecureCRT鏈接CVM服務器的超時時間?
24. 如何得到CVM的root權限?
25. 爲何刪除linux服務器上的文件,硬盤空間不釋放?php

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

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

node

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

能夠經過w,top,uptime,procinfo命令,也能夠經過/proc/loadavg文件查看。 

linux

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

服務器負載(load/load average)是根據進程隊列的長度來顯示的。
當服務器出現負載高的現象時(建議以15分鐘平均值爲參考),多是因爲CPU資源不足,I/O讀寫瓶頸,內存資源不足等緣由形成,也多是因爲CPU正在進行密集型計算。
建議使用vmstat -x,iostat,top命令判斷負載太高的緣由,而後找到具體佔用大量資源的進程進行優化處理。 

ios

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

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

shell

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

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

數組

6. 沒法從linux服務器A登陸到服務器B怎麼辦?

請開發者首先確認服務器A和B是屬於同一個應用,不一樣應用沒法交叉登陸。
1. 當服務器A沒法登陸服務器B時,可使用ping IP和telnet IP 36000命令確認服務器B是否死機,ssh服務是否正常。
若是有異常,登陸open.qq.com管理中心重啓服務器(詳細操做說明見:CVM_V2申請和管理#3.2 服務器重啓)。 
2. 若是能夠經過客戶端直接訪問服務器B,可是不能從服務器A登陸服務器B,請經過企業QQ聯繫運維支持協助定位。 

服務器

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

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

app

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

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

運維

9. 如何殺死進程?

可使用kill -9 PID(進程號),killall 程序名(好比killall cron)來殺死進程。
若是要殺死的是殭屍進程,則須要殺掉進程的父進程纔有效果,命令爲: kill -9 ppid(ppid爲父進程ID號,能夠經過ps -o ppid PID查找,例如ps -o ppid 32535)。 

ssh

10. 如何查找殭屍進程?

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

11. 如何在內網服務器間傳輸數據?

同一應用下的不一樣機器,能夠經過以下命令實現文件傳輸:

scp -P port(使用36000端口) /home/user/localfilename(本地文件路徑) user(使用appid)@serverip:/home/user/removefilename(目標文件路徑)

rsync -e 'ssh -p port(使用36000端口) -q' /home/user/localfilename (本地文件路徑) user(使用appid)@serverip:/home/user/removefilename(目標文件路徑) 

12. 爲何啓動不了服務器端口?

服務器端口的啓動監聽,須要從操做系統自己以及應用程序查看。
linux操做系統1024如下的端口只能由root用戶啓動,即須要先運行sudo su –獲取root權限後再啓用服務端口。
應用程序問題,建議經過應用程序啓動日誌來排查失敗緣由,例如端口衝突(騰訊服務器系統使用端口不能佔用,好比36000),配置問題等。 

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

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

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

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

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

iostatc 用於輸出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/ 

 

14. 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 & 

15. 如何設置opensuse服務器開機任務?

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中配置。 

16. 爲何服務器硬盤只讀?

硬盤只讀的常見緣由以下:
1. 磁盤空間滿
能夠經過df -m命令查看磁盤使用狀況,而後刪除多餘的文件釋放磁盤空間(非第三方文件不建議刪除,若是須要請聯繫企業QQ確認); 
2. 磁盤inode資源佔用完
能夠經過df -i命令查看,確認相關的進程; 
3. 硬件故障。

若是hosting應用經過上述方式仍沒法確認緣由,請經過企業QQ聯繫運維支持協助定位。 

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

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

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

能夠首先經過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 {} \; 

19. 如何查看服務器操做系統版本?

能夠經過下列命令查看系統版本:
uname -a,cat /proc/version,cat /etc/issue 

20. 如何重啓服務器?

方式1:
登陸open.qq.com管理中心重啓服務器(詳細操做說明見:CVM_V2申請和管理#3.2 服務器重啓)。 

方式2:若是方式1不生效,能夠嘗試在服務器上以root運行reboot命令進行重啓。 

21. 爲何linux終端顯示中文會出現亂碼?

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

22. 如何設置經過SecureCRT鏈接CVM服務器的超時時間?

能夠經過以下設置,使SecureCRT鏈接CVM時,不斷開鏈接:
打開secureCRT選項(Options),選擇會話選項(Session Opetions),點擊終端(Terminal),在右側反空閒(Anti-idle)的框中勾選發送協議NO-OP(Send protocol NO-OP),時間設置爲每120秒(every 120 seconds)。 

24. 如何得到CVM的root權限?

詳見:root權限說明。 

25. 爲何刪除linux服務器上的文件,硬盤空間不釋放?

現象:
登陸linux服務器,執行 rm 命令刪除文件,用 df 命令查看硬盤空間,發現刪除文件後,可用的硬盤空間沒有增長。
緣由:
經過 rm 命令刪除文件的時候,若是正好有其它進程在訪問該文件,經過 df 命令查看,刪除的文件佔用的空間是沒有當即釋放的。
解決方法:
使用root權限執行 lsof |grep deleted ,查看正在使用被刪除文件的進程的PID,經過命令 kill -9 PID 殺掉對應的進程便可。 

 

 

 原文地址https://wiki.open.qq.com/wiki/faq/linux%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%B8%B8%E7%94%A8%E6%93%8D%E4%BD%9C%E5%92%8C%E5%91%BD%E4%BB%A4

相關文章
相關標籤/搜索