java開發cs教程,日常運維(一)

w命令:

用于查看系統負載、顯示已經登陸系統的用戶列表,并顯示用戶正在執行的指令等信息

7ffc67d8ca4ac2400bdabaaa5d63fbb9.png

第一行從左面開始顯示的信息依次為:時間,系統運行時間,登錄用戶數,平均負載。第二行開始以及下面所有的行,告訴我們的信息是,當前登錄的都有哪些用戶,以及他們是從哪里登錄的等等

我們主要關注的load average后面的3個數值:第①個數值表示1分鐘內系統的平均負載值;第②個數值表示5分鐘內系統的平均負載值;第③個數值表示15分鐘系統的平均負載值。這個值的意義是,單位時間段內CPU活動進程數。當然這個值越大就說明你的服務器壓力越大。一般情況下這個值只要不超過服務器的cpu數量就沒有關系。

如何查看CPU數量:grep -c "processor" /proc/cpuinfo;?????/proc/cpuinfo文件記錄了cpu的詳細信息。

uptime命令:

能夠打印系統總共運行了多長時間和系統的平均負載。uptime命令可以顯示的信息顯示依次為:現在時間、系統已經運行了多長時間、目前有多少登陸用戶、系統在過去的1分鐘、5分鐘和15分鐘內的平均負載。

4ed753e329d5b7b2e73b2f55839826eb.png

vmstat命令:

顯示虛擬內存狀態,包括進程、內存、I/O等系統整體的運行狀態。

dcd0e6055149649339dea7ddd7d57ccb.png

w 查看的是系統整體上的負載,通過看那個數值可以知道當前系統有沒有壓力,但是具體是哪里(CPU, 內存,磁盤等)有壓力就無法判斷了。通過 vmstat 就可以知道具體是哪里有壓力。vmstat命令打印的結果共分為6部分:procs, memory, swap, io, system, cpu. 請重點關注一下r b?swpd si so bi bo us wa幾列

1)procs 顯示進程相關信息

r :表示運行和等待cpu時間片的進程數,如果長期大于服務器cpu的個數,則說明cpu不夠用了;

b :表示等待資源的進程數,比如等待I/O, 內存等,這列的值如果長時間大于1,則需要關注一下了;

2)memory 內存相關信息

swpd :表示切換到交換分區中的內存數量 ,單位為KB;

free :當前空閑的內存數量,單位為KB;

buff :緩沖大小,(即將寫入磁盤的);?? ?例子:0000(CPU數據) -->?內存(buffer) -->磁盤

cache :緩存大小,(從磁盤中讀取的); 例子:0000(磁盤數據) -->?內存(cache) --> CPU

3)swap 內存交換情況

si :由交換區寫入到內存的數據量;

so :由內存寫入到交換區的數據量;

4)io 磁盤使用情況

bi :從塊設備讀取數據的量(讀磁盤);

bo: 從塊設備寫入數據的量(寫磁盤);

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

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

cs :表示每秒產生的上下文切換次數;

6)CPU 顯示cpu的使用狀態(us+sy+id=100%)

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

sy :顯示系統花費cpu時間百分比;

id :表示cpu處于空閑狀態的時間百分比;

wa :表示I/O等待所占用cpu時間百分比;

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

vmstat常見用法:vmstat 1 5;????表示每隔1s打印一次,共打印5次;當然你也可以使用vmstat 1持續打印,Ctrl + c 結束。

top命令:

可以實時動態地查看系統的整體運行情況,是一個綜合了多方信息監測系統性能和運行信息的實用工具。

a9b55f91460dc48610611eb32c025b93.png

top命令打印出了很多信息,包括系統負載(loadaverage)、進程數(Tasks)、cpu使用情況、內存使用情況以及交換分區使用情況。如上圖所示,有些內容可以通過其他命令也能查看,這里關注:RES %CPU, %MEM, COMMAND

RES?進程所占內存大小

%CPU 使用CPU百分比

%MEM 使用內存百分比

COMMAND?進程啟動命令名稱

按 shift + m: 可以按照內存使用大小排序;shift + p:可以切回按照cpu使用大小排序;按數字 1: 可以列出各顆cpu的使用狀態。字母q:退出!

一次性全部把所有信息輸出出來而非動態顯示:top -bn1? ;? ? 一般使用在shell腳本。

sar命令:

sar 命令很強大,它可以監控系統所有資源狀態,比如平均負載、網卡流量、磁盤狀態、內存使用等等;這里介紹如何監控網卡流量

sar安裝:yum install -y sysstat

sar查看網卡流量:sar -n DEV

7a019b58670d27439e3b1fe430df9e3d.png

IFACE這列表示設備名稱

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

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

rxbyt/s 表示每秒收取的數據量(單位Byte)

txbyt/s表示每秒發送的數據量。

后面幾列不用關注。如果rxpck/s 那一列的數值大于4000,或者rxbyt/s那列大于5,000,000則很有可能是被***了,正常的服務器網卡流量不會高于這么多,除非是你自己在拷貝數據。

上面的命令是查看網卡流量歷史的,如何時時查看網卡流量呢?? 輸入命令:sar -n DEV 1 5 即可;

aed0053ee296752e38ababfb129c1a8a.png

也可以查看某一天的網卡流量歷史,歷史文件存放在/var/log/sa/目錄下,如命令:sar -n DEV -f /var/log/sa/sa06;

f8d063b2dbe9375d6e35e44457a3ebce.png

查看系統歷史負載:sar -q;

c425de109c60a24e828a0a538ed41c8b.png

查看磁盤讀寫:sar -b

34e675a5fc0de6923dfc3c97c6217ba7.png

nload命令:

用來即時監看網路狀態和各ip所使用的頻寬

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

d1cf6c160b16990f0112a30b714ff52a.png

Incoming:進入網卡的流量; Outgoing:網卡出去的流量;?我們關注的當然是Curr這行的實時數據了。

監控io性能:

iostat命令:

1b9417c6c5acb3490c3673a627943ca3.png

關注%util這一列,表示占用CPU時間百分比;如果數值很大的話(50%+),說明磁盤IO很忙。

iotop命令:yum?install -y?iotop

能查看進程占用磁盤IO信息

c29cc49246716c990d3a5dcd70ce05b2.png

free命令:

用于查看內存使用情況

987382527f25aeb818ad344e4a1283e7.png

total:內存總大小

used:真正使用的實際內存大小

free:剩余物理內存大小(沒有被分配的內存)

shared:共享內存大小,不用關注

buff/cache:分配給buffer和cache的內存總共有多大。(區分兩者!)

available:系統可使用的內存有多大

【total=used + free + buffer/cache】【available=free + buffer/cache剩余的部分】

ps命令:

用于查看系統進程。常用:ps -elf ;? 或者 ps aux;兩個命令顯示的信息大同小異!

dc4d0996bf6ce6c4c41e1c683a27d2af.png

02e5254e74100ac89a2570cb28a7ee0d.png

PID:表示進程的ID。有了pid,可以終止進程:kill?pid;查看pid進程在哪里啟動的:ls -l /proc/[pid]/? 就可以看到某pid在哪里啟動的。

這里主要解釋一下STAT列:表示進程的狀態;如下;

D 不能中斷的進程(通常為IO)

R 正在運行中的進程

S 已經中斷的進程,通常情況下,系統中大部分進程都是這個狀態

T 已經停止或者暫停的進程,如果我們正在運行一個命令,比如說 sleep 10 如果我們按一下ctrl -z 讓他暫停,那么我們用ps查看就會顯示T這個狀態

W 這個好像是說,從內核2.6xx 以后,表示為沒有足夠的內存頁分配

X 已經死掉的進程(這個好像從來不會出現)

Z 僵尸進程,殺不掉,打不死的垃圾進程,占系統一小點資源,不過沒有關系。如果太多,就有問題了。一般不會出現。

< 高優先級進程

N 低優先級進程

L 在內存中被鎖了內存分頁

s 主進程

l 多線程進程

+ 代表在前臺運行的進程

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372646.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372646.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372646.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

coursera 《現代操作系統》 -- 第五周 同步機制(1)

臨界區塊&#xff08;Critical section&#xff09;指的是一個訪問共用資源&#xff08;例如&#xff1a;共用設備或是共用存儲器&#xff09;的程序片段&#xff0c;而這些共用資源有無法同時被多個線程訪問的特性。&#xff08;不是字面意思的一個區域&#xff0c;是程序片段…

java.lang.NoClassDefFoundError:如何解決–第2部分

本文是我們的NoClassDefFoundError故障排除系列的第2部分。 看一下第1部分 。 它將重點介紹最簡單的NoClassDefFoundError問題類型。 本文對于Java初學者來說是理想的選擇&#xff0c;我強烈建議您自己編譯并運行示例Java程序。 今后將使用以下書寫格式&#xff0c;并為您提供&…

Android開發技術周報 Issue#34

教程 Google Develop for Android 系列 前幾天在G上看到Google Developers站點&#xff0c;有一個Android系列的文章&#xff0c;分享到個人微博&#xff0c;周末閑來沒事就學寫了下&#xff0c;把它們簡單的翻譯了下&#xff0c;沒想到一發不可收拾&#xff0c;六篇文章全部都…

php進度條插件,分享8款優秀的 jQuery 加載動畫和進度條插件_jquery

加載動畫和進度條在網站和 Web 應用中的使用非常流行。雖然網速越來越快&#xff0c;但是我們的網站越來越復雜&#xff0c;同時用戶對網站的使用體驗的要求也越來越高。在內容加載緩慢的時候&#xff0c;使用時尚的加載動畫和進度條告訴用戶還有內容正在加載是一種非常好的方式…

卷積神經網絡(CNN)與特殊的卷積

各種卷積操作的可視化的顯示形式&#xff1a;GitHub - vdumoulin/conv_arithmetic: A technical report on convolution arithmetic in the context of deep learning1. fractionally-strided 卷積 如上圖示&#xff0c;輸入為 33 &#xff0c;想要卷積上采樣成 55 的輸出。需要…

JBoss AS 7:自定義登錄模塊

JBoss AS 7很整潔&#xff0c;但是仍然缺少文檔&#xff08;錯誤消息沒有那么有用&#xff09;。 這篇文章總結了如何創建自己的兼容JavaEE的登錄模塊&#xff0c;以對部署在JBoss AS上的Web應用程序的用戶進行身份驗證。 提供了一個工作的基本用戶名密碼模塊。 為什么要使用Ja…

MySQL安裝步驟及相關問題解決

1. 下載MySQL Server&#xff0c;網址&#xff1a;http://dev.mysql.com/downloads/mysql/ 2. 點擊MySQL5.5.21的安裝文件&#xff0c;出現安裝向導界面&#xff0c;單擊“next”繼續安裝&#xff1a; 3. 選擇接受協議&#xff0c;單擊“next”繼續安裝&#xff1a; 4. 在出現選…

matlab的數學函數,matlab中常見數學函數的使用

matlab中常見數學函數的使用 MATLAB 基本知識 Matlab 的內部常數 pi 圓周率 exp(1) 自然對數的底數 e i 或 j 虛數單位 Inf 或 inf 無窮大 Matlab 的常用內部數學函數 指數函數 exp(x) 以 e 為底數 log(x) 自然對數&#xff0c;即以 e 為底數的對數 log10(x) 常用對數&#xff…

C++中 list與vector的區別

C中 list與vector的區別 引用http://www.cnblogs.com/shijingjing07/p/5587719.html C vector和list的區別 1.vector數據結構vector和數組類似&#xff0c;擁有一段連續的內存空間&#xff0c;并且起始地址不變。因此能高效的進行隨機存取&#xff0c;時間復雜度為o(1);但因為內…

使用Struts 2的查詢網格(無插件)

當將jQuery與struts 2一起使用時&#xff0c;開發人員被說服使用struts2-jQuery插件 。 因為大多數論壇和其他Internet資源都支持struts2 jQuery插件。我有這種經驗。 我想將Struts 2使用jQuery Grid插件&#xff0c;但不使用struts2 jQuery插件。 對于我而言&#xff0c;很難找…

php reflectionmethod,PHP ReflectionMethod getClosure()用法及代碼示例

ReflectionMethod::getClosure()函數是PHP中的一個內置函數&#xff0c;用于為該方法返回動態創建的閉包&#xff0c;否則&#xff0c;在出現錯誤的情況下返回NULL。用法:Closure ReflectionMethod::getClosure ( $object )參數&#xff1a;該函數接受參數對象&#xff0c;該參…

java學習筆記--IO流

第十二章大綱&#xff1a; I/O input/output 輸入/輸出 一、創建文件&#xff0c;借助File類來實現 file.createNewFile() &#xff1a; 創建文件 file.exists() &#xff1a; 判斷文件是否存在&#xff0c;如果存在&#xff0c;則返回true delete() &#xff1a; 刪除文件&…

linux命令之kill篇

作業四&#xff1a;查詢firewall進程&#xff0c;然后殺死 [rootlocalhost 桌面]# ps -aux |grep firewall root 772 0.0 2.0 327912 20704 ? Ssl 15:23 0:00 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid root 5323 0.0 0.0 112660…

ActiveMQ網絡連接器

這篇文章對我和任何對網絡連接器如何為ActiveMQ工作感興趣的ActiveMQ貢獻者而言都是更多的內容。 我最近花了一些時間查看代碼&#xff0c;并認為最好畫一些快速的圖表來幫助我記住我學到的東西&#xff0c;并在將來發現問題時幫助將來確定在哪里進行調試。 如果我輸入有誤&…

《程序設計與數據結構》第3周學習總結

學號 20162317 《程序設計與數據結構》第3周學習總結 教材學習內容總結 第三章的內容相比之前兩章更為具體&#xff0c;介紹的內容更為集中&#xff0c;主要說到了類和對象的問題&#xff0c;其中也仔細介紹了String類、Random類、Math類、NumberFormat類等類。此外也說到了與類…

Java中帶有JWebSocket的WebServerSocket

首先&#xff0c;轉到http://jwebsocket.org/下載2個軟件包Server and Client。 如果要查看源代碼&#xff0c;請下載源代碼包。 服務器 解壓縮服務器程序包。 轉到“ conf”文件夾 選擇“ jWebSocket.xml”文件打開 編輯“ jWebSocket.xml”文件&#xff0c;在標簽<dom…

OpenCV入門指南----人臉檢測

本篇介紹圖像處理與模式識別中最熱門的一個領域——人臉檢測&#xff08;人臉識別&#xff09;。人臉檢測可以說是學術界的寵兒&#xff0c;在不少EI&#xff0c;SCI高級別論文都能看到它的身影。甚至很多高校學生的畢業設計都會涉及到人臉檢測。當然人臉檢測的巨大實用價值也讓…

matlab提取艾里斑,艾里斑:我不是雀斑

正是艾里斑&#xff0c;限制了光學儀器的精度我們知道凸透鏡能把入射光會聚到它的焦點上&#xff0c;由于透鏡的口徑有一定大小&#xff0c;限制了光線的傳播&#xff0c;所以凸透鏡也會發生衍射。這導致透鏡無法把光線會聚成無限小的點&#xff0c;而只會在焦點上形成具有一定…

mysql啟動錯誤排查-無法申請足夠內存

一般情況下mysql的啟動錯誤還是很容易排查的&#xff0c;但是今天我們就來說一下不一般的情況。拿到一臺服務器&#xff0c;安裝完mysql后進行啟動&#xff0c;啟動錯誤如下&#xff1a; 有同學會說&#xff0c;哥們兒你是不是buffer pool設置太大了&#xff0c;設置了96G內存。…

Spring vs Guice:重要的一個關鍵區別

根據彈簧對象的名稱識別它們 不管使用XML還是Java配置都沒有關系&#xff0c;Spring范圍大致類似于Map <String&#xff0c;Object>結構。 這意味著您不能有兩個名稱相同的對象 。 為什么這是一件壞事&#xff1f; 如果您的大型應用程序包含許多Configuration類或XML文件…