檢視linux伺服器狀態常用命令

豬頭強發表於2015-09-11

     最近發現大資料技術的一些部署、高可用、叢集等和網站的負載均衡、自動化運維、災備等其實有很多知識都是重合的,要學好linux運維相關,在大資料的研究上也會有所提高。既然工作需要去系統的去學習linux運維的技術,那就去好好的去學習它~~,況且我還很喜歡搗鼓這個。 :)

  先總結了解一臺伺服器狀態的常用命令的總結:(以下是兩臺伺服器測試的結果)

      (1)檢視linux版本:

[root@iZ94ccp83dlZ home]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID:    CentOS
Description:    CentOS Linux release 7.0.1406 (Core) 
Release:    7.0.1406
Codename:    Core

  (2)檢視系統的硬碟佔用情況:

[root@iZ94ccp83dlZ ~]# df -h 
Filesystem Size Used Avail Use
% Mounted on

/dev/xvda1 20G 8.7G 11G 47% /            #這裡第一行應該是系統使用者所分配的硬碟的佔用情況
tmpfs 938M
0 938M 0% /dev/shm            #檔案系統 /
dev/xvdb1 985G 533G 402G 58% /data         #掛載的硬碟的大小

  (3)檢視某一個目錄下的檔案佔用大小:

[root@iZ94ccp83dlZ backup]# du -h --max-depth=1 1.6G ./MongoDB 5.2G ./MySQL 509M ./webapps 7.3G .

   (4)檢視linux記憶體使用情況:

[root@iZ94ccp83dlZ home]# free -m
             total       used       free     shared    buffers     cached
Mem:           992        916         76         50         62         65
-/+ buffers/cache:        788        204
Swap:            0          0          0

total:記憶體總數。

看剩餘記憶體:+buffers/cahe列的free :204  (也就是free+buffers+cached。也可以是used-buffers-cashed)。

 

[root@iZ94ccp83dlZ sbin]# ps aux | sort -k4,4nr | head -n 10 //檢視前10位佔用記憶體最多的服務

 

  (5)檢視某個目錄或檔案的大小:

[root@iZ94ccp83dlZ home]# du -sh jdk8
315M    jdk8

   

  (6)檢視系統的平均負載:

[root@OMG backup]# uptime
 14:14:26 up 11 days,  2:43,  4 users,  load average: 0.96, 0.77, 0.64

    這裡的load average 三個數的和一般不能邏輯cpu個數  

[root@OMG backup]# cat /proc/cpuinfo | grep "physical id"|sort | uniq |wc -l    #物理cpu個數
4
[root@OMG backup]# cat /proc/cpuinfo | grep "cpu cores"| uniq             #cpu核數
cpu cores    : 1          
[root@OMG backup]# cat /proc/cpuinfo | grep "processor"| wc -l            #邏輯cpu個數
4
物理cpu個數*cpu核數=邏輯cpu個數

0.96+0.77+0.64 =2.73 < 4 ,妥妥的沒有問題~~

  (7)檢視網路連線等:

root@iZ94ccp83dlZ network-scripts]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:8005          0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:8006          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8010            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8081            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
...
...

state: LISTEN偵聽來自遠方的tcp埠的連線請求。 

killall 程式名字,殺死和該程式有關的所有程式。

 

檢視佔用埠的應用和程式id

[root@iZ94ccp83dlZ management]# netstat -tlnp | grep <port>

 

 

檢視系統日誌:

[root@iZ94ccp83dlZ ~]# tail -n10 /var/log/messages

檢視使用者登入日誌:

[root@iZ94ccp83dlZ ~]# tail -30 /var/log/secure

 

上面這個好像有些略微基礎了,不過好多引數我也一直不知道什麼意思~~,在這裡總結一下

 

接下來看伺服器的優化吧~

 

相關文章