1. 程式人生 > >日常運維(一):w命令 vmstat命令 top命令 sar命令 nload命令

日常運維(一):w命令 vmstat命令 top命令 sar命令 nload命令

一 w檢視當前系統的負載

-f  開啟或關閉顯示使用者從何處登入系統。

-h  不顯示各欄位的標題資訊列。

-l  使用詳細格式列表,此為預設值。

-s  使用簡潔格式列表,不顯示使用者登入時間,終端機階段作業和程式所耗費的CPU時間。

-u  忽略執行程式的名稱,以及該程式耗費CPU時間的資訊。

-V  顯示版本資訊。

第一行從左面開始顯示的資訊依次為:時間,系統執行時間,登入使用者數,平均負載。

USER:登入使用者名稱

TTY:登陸後系統分配的終端號

FROM:遠端主機名,即從哪裡登陸的

[email protected]:何時登陸

IDLE:使用者空閒時間。這是個計時器,一旦使用者執行任何操作,該計時器便會被重置。

JCPU:和該終端連線的所有程序佔用時間。包括當前正在執行的後臺作業佔用時間。

PCPU:當前程序所佔用時間。

WHAT:當前正在執行程序的命令列。

load average: 後面的三個數值。

第一個數值表示1分鐘內系統的平均負載值;

第二個數值表示5分鐘內系統的平均負載值;

第三個數值表示15分鐘系統的平均負載值。

這個值的意義是,單位時間段內CPU活動程序數。值越大就說明伺服器壓力越大。一般情況下這個值只要不超過伺服器的cpu數量就沒有關係,如果伺服器cpu數量為8,那麼這個值若小於8,就說明當前伺服器沒有壓力。

用cat /proc/cpuinfo檢視伺服器有幾個CPU

檢視當前系統有幾個cpu,使用命令: grep -c 'processor' /proc/cpuinfo

檢視幾顆物理cpu,grep -c 'physical id' /proc/cpuinfo

二 vmstat 監控系統的狀態

vmstat工具的使用是通過兩個數字引數來完成的,第一個引數是取樣的時間間隔數,單位是秒,第二個引數是取樣的次數

1表示每隔一秒採集一次伺服器狀態,2表示只採集一次。

1)procs 顯示程序相關資訊

r :(run)表示執行和等待cpu時間片的程序數,如果長期大於伺服器cpu的個數,則說明cpu不夠用了;

b :(block)表示等待資源的程序數,比如等待I/O, 記憶體等,這列的值如果長時間大於1,則需要關注一下了;

2)memory 記憶體相關資訊

swpd :表示切換到交換分割槽中的記憶體數量 ;

free :當前空閒的記憶體數量;

buff :緩衝大小,(即將寫入磁碟的);

cache :快取大小,(從磁碟中讀取的);

3)swap 記憶體交換情況

si :(in)由交換區寫入到記憶體的資料量;每秒從磁碟讀入虛擬記憶體的大小,如果這個值大於0,表示實體記憶體不夠用或者記憶體洩露了,要查詢耗記憶體程序解決掉。

so :(out)由記憶體寫入到交換區的資料量;每秒虛擬記憶體寫入磁碟的大小,如果這個值大於0,同上。

4)io 磁碟使用情況

bi :(in)從塊裝置讀取資料的量(讀磁碟);塊裝置每秒接收的塊數量,這裡的塊裝置是指系統上所有的磁碟和其他塊裝置,預設塊大小是1024byte

bo: (out)從塊裝置寫入資料的量(寫磁碟);塊裝置每秒傳送的塊數量,例如我們讀取檔案,bo就要大於0。bi和bo一般都要接近0,不然就是IO過於頻繁,需要調整。

5)system 顯示採集間隔內發生的中斷次數

in :表示在某一時間間隔中觀測到的每秒裝置中斷數;

cs :表示每秒產生的上下文切換次數;例如我們呼叫系統函式,就要進行上下文切換,執行緒的切換,也要程序上下文切換,這個值要越小越好,太大了,要考慮調低執行緒或者程序的數目,例如在apache和nginx這種web伺服器中,我們一般做效能測試時會進行幾千併發甚至幾萬併發的測試,選擇web伺服器的程序可以由程序或者執行緒的峰值一直下調,壓測,直到cs到一個比較小的值,這個程序和執行緒數就是比較合適的值了。系統呼叫也是,每次呼叫系統函式,我們的程式碼就會進入核心空間,導致上下文切換,這個是很耗資源,也要儘量避免頻繁呼叫系統函式。上下文切換次數過多表示你的CPU大部分浪費在上下文切換,導致CPU幹正經事的時間少了,CPU沒有充分利用,是不可取的。

6)CPU 顯示cpu的使用狀態

us :顯示了使用者下所花費 cpu 時間的百分比;

sy :顯示系統花費cpu時間百分比;系統CPU時間,如果太高,表示系統呼叫時間長,例如是IO操作頻繁。

id :(idle)表示cpu處於空閒狀態的時間百分比;空閒 CPU時間,一般來說,id + us + sy = 100,一般認為id是空閒CPU使用率,us是使用者CPU使用率,sy是系統CPU使用率。

wa :(wait)表示I/O等待所佔用cpu時間百分比;

st :(steal)表示被偷走的cpu所佔百分比(一般都為0,不用關注);

三top命令

第一行:

當前系統時間

系統已經執行的時間(在這期間沒有重啟過)
2 users — 當前有2個使用者登入系統
load average後面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況。

load average資料是每隔5秒鐘檢查一次活躍的程序數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。

第二行:
Tasks — 任務(程序),系統現在共有103個程序,其中處於執行中的有2個,101個在休眠(sleep),stoped狀態的有0個,zombie狀態(殭屍)的有0個。

第三行:cpu狀態
us — 使用者空間佔用CPU的百分比。
sy — 核心空間佔用CPU的百分比。
ni — 改變過優先順序的程序佔用CPU的百分比
id — 空閒CPU百分比
0.0% wa — IO等待佔用CPU的百分比
0.0% hi — 硬中斷(Hardware IRQ)佔用CPU的百分比
0.0% si — 軟中斷(Software Interrupts)佔用CPU的百分比

第四行:記憶體狀態
total — 實體記憶體總量1.78G
used — 使用中的記憶體總量112M
free — 空閒記憶體總量1.6G
buffers — 快取的記憶體量 152M

第五行:swap交換分割槽
total — 交換區總量
used — 使用的交換區總量
free — 空閒交換區總量
cached — 緩衝的交換區總量

第四行中使用中的記憶體總量(used)指的是現在系統核心控制的記憶體數,空閒記憶體總量(free)是核心還未納入其管控範圍的數量。納入核心管理的記憶體不見得都在使用中,還包括過去使用過的現在可以被重複利用的記憶體,核心並不把這些可被重新使用的記憶體交還到free中去,因此在linux上free記憶體會越來越少,但不用為此擔心。

如果出於習慣去計算可用記憶體數,這裡有個近似的計算公式:第四行的free + 第四行的buffers + 第五行的cached。

對於記憶體監控,在top裡我們要時刻監控第五行swap交換分割槽的used,如果這個數值在不斷的變化,說明核心在不斷進行記憶體和swap的資料交換,這是真正的記憶體不夠用了。

第七行以下:各程序(任務)的狀態監控
PID — 程序id
USER — 程序所有者
PR — 程序優先順序
NI — nice值。負值表示高優先順序,正值表示低優先順序
VIRT — 程序使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES
RES — 程序使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA
SHR — 共享記憶體大小,單位kb
S — 程序狀態。D=不可中斷的睡眠狀態 R=執行 S=睡眠 T=跟蹤/停止 Z=殭屍程序
%CPU — 上次更新到現在的CPU時間佔用百分比
%MEM — 程序使用的實體記憶體百分比
TIME+ — 程序使用的CPU時間總計,單位1/100秒
COMMAND — 程序名稱(命令名/命令列)

在 top 狀態下,按 "shift + m", 可以按照記憶體使用大小排序。

按數字 '1' 可以列出各顆cpu的使用狀態,監控每個邏輯CPU的狀況

top -bn1 它表示非動態列印系統資源使用情況,可以用在shell指令碼中,和 top 命令唯一的區別就是,它一次性全部把所有資訊輸出出來而非動態顯示。

top –c可以檢視具體命令。

四 sar命令

sar(System ActivityReporter系統活動情況報告),它可以監控系統幾乎所有資源狀態,比如平均負載、網絡卡流量、磁碟狀態、記憶體使用等。它不同於其他系統狀態監控工具的地方在於,它可以列印歷史資訊,可以顯示當天從零點開始到當前時刻的系統狀態資訊。

yum install  -y sysstat 命令安裝。初次使用sar命令會報錯,那是因為sar工具還沒有生成相應的資料庫檔案(時時監控就不會了,因為不用去查詢那個庫檔案)。

它的資料庫檔案在 "/var/log/sa/" 目錄下,預設儲存一個月。

用法: sar [ 選項 ] [ <時間間隔> [ <次數> ] ]

檢視網絡卡流量 sar –n DEV

IFACE這列表示裝置名稱,本地網絡卡介面的名稱

rxpck/s 表示每秒進入收取的包的數量

txpck/s 表示每秒傳送出去的包的數量

rxkb/s 表示每秒收取的資料量(單位Byte)

txkb/s表示每秒傳送的資料量。

後面幾列不需要關注。如果有一天所管理的伺服器丟包非常嚴重,那麼就應該看一看這個網絡卡流量是否異常了,如果rxpck/s 那一列的數值大於4000,或者rxkbs/s那列大於5,000,000則很有可能是被攻擊了,正常的伺服器網絡卡流量不會高於這麼多,除非是自己在拷貝資料。

sar -n DEV 1 1: 每間隔1秒統計一次,總計統計1次

也可以檢視某一天的網絡卡流量歷史,使用-f選項,後面跟檔名,在系統格式Redhat或者CentOS版本中,sar的庫檔案一定是在/var/log/sa/目錄下的。

例如:sar -n DEV -f /var/log/sa/sa30

sa30是二進位制檔案不能使用cat檢視。

檢視歷史負載 sar -q

sar補充:用法很多,只學有用的。

-n 使用總結

-n DEV : 網路介面統計資訊。

-n EDEV : 網路介面錯誤。

-n IP : IP資料報統計資訊。

-n EIP : IP錯誤統計資訊。

-n TCP : TCP統計資訊。

-n ETCP : TCP錯誤統計資訊。

-n SOCK : 套接字使用。

五 nload命令

安裝:yum install –y epel-release;yum install –y nload

nload依賴於epel-release包。

以實時地監控網絡卡的流量,分Incoming,Outgoing兩部分,也就是流入與流出的流量,同時統計當前,平均,最小,最大,總流量的值,使人看了一目瞭然,直接用nload回車即可,也可以指定網絡卡,如nload eth1。向右箭頭檢視其它網絡卡的網路流量。q退出。

相關推薦

日常w命令 vmstat命令 top命令 sar命令 nload命令

一 w檢視當前系統的負載 -f  開啟或關閉顯示使用者從何處登入系統。 -h  不顯示各欄位的標題資訊列。 -l  使用詳細格式列表,此為預設值。 -s  使用簡潔格式列表,不顯示使用者登入時間,終端機

日常

系統命令監控系統狀態 w、uptime 查看系統負載 w 查看系統負載 系統時間、運行時間、登錄用戶數、平均負載1min 5min 15min tty1 系統登錄用戶 pts/0 遠程登錄用戶 cat /proc/cpuinfo 查看cup核數 processor 0 為 1顆 1為2顆 邏

wvmstattopsarnload命令

var sar stop oot x86_64 長時間 bsp face 3.3 1. 使用w查看系統負載用法如下:# w 18:20:14 up 2 days, 7:57, 1 user, load average: 0.01, 0.03, 0.05USER

wvmstattopsarnload 命令的使用

20180504一、w命令: 系統負載: 分為三段:1分鐘、5分鐘、15分鐘的負載值(使用CPU的活動的進程有多少個)FROM :從哪裏登陸LOGIN:登陸時間IDLE:空閑時間查看系統有幾個CPU :cat /proc/cpuinfo uptime 命令:跟W命令相似。 我們直接用W命令看就好了 二、

0413 第十三次課日常

日常運維(上) 系統監控 使用w檢視系統負載 vmstat命令 top命令 sar命令 nload命令 監

日常

iostat ps top tcpdump netstat iostat iostat 直接查看 iostat 1 iostat -x 磁盤使用 %util:表示I/O等待,占用CPU的等待時間,這個數字大,可能硬盤有故障 iotop iotop 磁盤使用y

日常

日常運維ifconfig ifconfig 查看網卡IP (yum install -y net-tools) 和 ip add 一樣ifconfig -a 當宕了網卡,沒有IP時,不顯示 ifup / ifdown ifup / ifdown 開啟關閉網卡 用於指定的網卡設定虛擬網卡 將配置文件復制一份

日常

iptablesiptables 規則 默認規則保存在配置文件中/etc/sysconfig/iptables iptables -F 清空規則 service iptables save 保存當前規則到配置文件裏 ###默認規則在 filter 表裏 +t 更改指定的表 默認就是filter表 ipta

日常

firewalledCentOS 7 firewalled 打開firewalled systemctl disable iptables #關閉服務 systemctl stop iptables #停止運行的服務 systemctl enable firewalld

日常

crontab chkconfig systemd unit target crontab crontab 任務計劃 crond服務crontab -u -e -l -r5個*格式:分,時,日,月,周 user command/etc/crontab 配置文件 crontab -e

日常

rsyncrsync 文件同步工具 rsync rsync -av /etc/passwd /tmp/1.txt `-v 可以查看過程` rsync -av /etc/passwd [email protected]:/tmp/1.txt 遠程同步 本機 -

日常

系統日誌系統日誌 /var/log/messages 系統總日誌syslogs /etc/logrotate.conf 日誌切割配置文件 logrotate 參考https://my.oschina.ne00675log/9818 dmesg命令 把系統硬件相關日誌列出來。這些日誌是保存在內存中的

linux安全

系統 gop shutdown ace sim -s user nbsp 服務 1.刪除特殊的用戶和用戶組: linux提供了各種不同角色的系統賬號,在系統安裝完成後,默認會安裝很多不必要的用戶和用戶組,如果不需要某些用戶或用戶組,應立即刪除他們,因為賬號越多,系統就越不

第十章、日常

抓取 進入 fff 0.11 cpu rip 筆記 裏來 ifd 10.1 使用w查看系統負載 10.2 vmstat命令 10.3 top命令 10.4 sar命令 10.5 nload命令 10.6 監控io性能 10.7 free命令 10.8 ps命令 10.9 查

Ansible自動化安裝與配置

安裝Ansible 使用包管理工具安裝 因為RHEL、CentOS的官方yum源中沒有Ansible安裝包。需要安裝EPEL作為部署Ansible的預設yum源。 CentOS7版本: rpm -Uvh http://mirrors.zju.edu.cn/epel/7/x86_64/

docker1安裝centos7.0 docker引擎時,解決lvm包衝突問題

1. 問題 centos7.0安裝docker engine時,系統有以下提示: # yum install docker-engine Running transaction check Running transaction test

穩定性分析

(1)運放穩定性問題: 通常的穩定性問題產生源自於運放輸出或者反向輸入端接了電容。   (2)運放穩定性問題簡析 1)不穩定源於輸出到反饋的延時過大 運放的開環輸出阻抗和電路的容性負載,會構成延時電路。 另外一個,運放的反饋電阻與運放的並聯輸入

Linux日常

10.4 Linux的防火牆 SELinux SELinux是linux系統特有的安全機制,這種機制限制較多,配置也比較繁瑣,所以一般把SELinux關閉。 檢視selinux的狀態有兩種方法: getenforce 命令是單詞get(獲取)和enforce(

使用w查看系統負載、vmstattopsarnload命令

打印 塊設備 取數據 text 服務 mar 等等 color 拷貝數據 1、w/uptime 查看系統負載 第一行從左面開始顯示的信息依次為:時間,系統運行時間,登錄用戶數,平均負載。第二行開始以及下面所有的行信息是,當前登錄的都有哪些用戶,以及他們是從哪裏登錄的等等。第