首先,在公司的伺服器上,有時候會出現top命令中cpu的記憶體和負載很高的情況,我們要如何檢視具體的原因,這個時候,就要用到vmstat命令,來進行仔細分析,系統中記憶體,程序,cpu,硬碟讀寫,swap分割槽等的運**況
[root@web110 ~]# vmstat 25procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd
free buff cache si so bi bo in cs us sy id
wa st 0
00584772
76516
17718400
179172000
99100
00584724
76516
17718400
00111300
100000
00584724
76524
17718400
08121500
100000
00584732
76524
17718400
00141500
100000
00584732
76524
17718400
00131300
1000
0
vmstat 這個命令本身很簡單 vmstat 2 5 的意思是每2秒列印一次系統的程序狀態、記憶體使用、虛擬記憶體使用、磁碟的io、中斷、上下文切換、cpu使用等狀態
預設vmstat 會列印一次命令執行時候的系統狀態
[root@web110 ~]# vmstatprocs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 584632 76620 177192 0 0 16 9 17 20 0 0 99 1 0
第一列:procs,沒有錯的話,全稱就是processor 程序,很明顯,這就是程序執行的狀態情況了。
r :running 表示執行和等待cpu時間片的程序數,這個值如果長期大於系統cpu個數,就說明要處理的任務很多,cpu不能夠立刻都處理,也就是cpu資源不足,可以考慮增加cpu等優化方案
b: block 阻塞,表示在等待資源的程序數,比如正在等待i/o或者記憶體交換等。這個引數和r列的引數有一定的關係
第二列 memory :英文意思,記憶體 ,下面有四列:
swpd free buff cache
swpd :虛擬記憶體,也就是叫喚分割槽的使用情況 ,swap交換分割槽使用的情況,記憶體不足,或者記憶體洩漏,會導致這種情況,可以考慮看情況增加記憶體,或者將耗記憶體的業務移植到單台記憶體比較大的伺服器上。
當出現:如果swpd的值不為0或者比較大,而且si、so的值長期為0,那麼這種情況一般不用擔心,不會影響系統效能;
free :記憶體,也就是我們所說的物理記憶體,單位是kb
buff:緩衝,硬碟到
我對android中Activity的理解
一 activity是什麼 在我們的應用中,我們看到裝置螢幕顯示出來的東西都是屬於activity的,activity可以說是乙個平台,這個平台上我們用來展示view的各種子類 布局 控制項 自定義的view activity就像乙個魚缸或者窗戶,而view就像魚缸的水和魚,窗戶外面的風景。我們看到...
對SQLiteOpenHelper類的理解
使用sqliteopenhelper對資料庫進行版本管理 因為我們開發的軟體可能會安裝在成百上千個使用者的手機上,如果應用使用到了sqlite資料庫,我們必須在使用者初次使用軟體時建立出應用使用到的資料庫表結構及新增一些初始化記錄,另外在軟體公升級的時候,也需要對資料表結構進行更新。那麼,我們如何才...
對pthread cond wait 函式的理解
原文 了解 pthread cond wait 的作用非常重要 它是 posix 執行緒訊號傳送系統的核心,也是最難以理解的部分。首先,讓我們考慮以下情況 執行緒為檢視已鏈結列表而鎖定了互斥物件,然而該列表恰巧是空的。這一特定執行緒什麼也幹不了 其設計意圖是從列表中除去節點,但是現在卻沒有節點。因此...