最近發現大資料技術的一些部署、高可用、叢集等和網站的負載均衡、自動化運維、災備等其實有很多知識都是重合的,要學好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
上面這個好像有些略微基礎了,不過好多引數我也一直不知道什麼意思~~,在這裡總結一下
接下來看伺服器的優化吧~