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