最近發現大數據技術的一些部署、高可用、集羣等和網站的負載均衡、自動化運維、災備等其實有不少知識都是重合的,要學好linux運維相關,在大數據的研究上也會有所提升。既然工做須要去系統的去學習linux運維的技術,那就去好好的去學習它~~,何況我還很喜歡搗鼓這個。 :)linux
先總結了解一臺服務器狀態的經常使用命令的總結:(如下是兩臺服務器測試的結果)web
(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)查看某一個目錄下的文件佔用大小:app
[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)。webapp
[root@iZ94ccp83dlZ sbin]# ps aux | sort -k4,4nr | head -n 10 //查看前10位佔用內存最多的服務
(5)查看某個目錄或文件的大小:tcp
[root@iZ94ccp83dlZ home]# du -sh jdk8 315M jdk8
(6)查看系統的平均負載:linux運維
[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
上面這個好像有些略微基礎了,不過好多參數我也一直不知道什麼意思~~,在這裏總結一下
接下來看服務器的優化吧~