LINUX命令列如何檢視memcache執行狀態
(附加)如何檢視memcache伺服器端版本: ./memcached -h
memcache的執行狀態可以方便的用 stats 命令顯示。
首先用telnet 127.0.0.1 11211這樣的命令連線上memcache,然後直接輸入stats就可以得到當前memcache的狀態。
這些狀態的說明如下:
pid | memcache伺服器的程序ID |
uptime | 伺服器已經執行的秒數 |
time | 伺服器當前的unix時間戳 |
version | memcache版本 |
pointer_size | 當前作業系統的指標大小(32位系統一般是32bit) |
rusage_user | 程序的累計使用者時間 |
rusage_system | 程序的累計系統時間 |
curr_items | 伺服器當前儲存的items數量 |
total_items | 從伺服器啟動以後儲存的items總數量 |
bytes | 當前伺服器儲存items佔用的位元組數 |
curr_connections | 當前開啟著的連線數 |
total_connections | 從伺服器啟動以後曾經開啟過的連線數 |
connection_structures | 伺服器分配的連線構造數 |
cmd_get | get命令(獲取)總請求次數 |
cmd_set | set命令(儲存)總請求次數 |
get_hits | 總命中次數 |
get_misses | 總未命中次數 |
evictions | 為獲取空閒記憶體而刪除的items數(分配給memcache的空間用滿後需要刪除舊的items來得到空間分配給新的items) |
bytes_read | 總讀取位元組數(請求位元組數) |
bytes_written | 總髮送位元組數(結果位元組數) |
limit_maxbytes | 分配給memcache的記憶體大小(位元組) |
threads | 當前執行緒數 |
STAT pid 1552
STAT uptime 3792
STAT time 1262517674
STAT version 1.2.6
STAT pointer_size 32
STAT curr_items 1
STAT total_items 2
STAT bytes 593
STAT curr_connections 2
STAT total_connections 28
STAT connection_structures 9
STAT cmd_get 3
STAT cmd_set 2
STAT get_hits 2
STAT get_misses 1
STAT evictions 0
STAT bytes_read 1284
STAT bytes_written 5362
STAT limit_maxbytes 67108864
STAT threads 1
END
這裡顯示了很多狀態資訊,下邊詳細解釋每個狀態項:
1. pid: memcached服務程序的程序ID
2. uptime: memcached服務從啟動到當前所經過的時間,單位是秒。
3. time: memcached伺服器所在主機當前系統的時間,單位是秒。
4. version: memcached元件的版本。這裡是我當前使用的1.2.6。
5. pointer_size:伺服器所在主機作業系統的指標大小,一般為32或64.
6. curr_items:表示當前快取中存放的所有快取物件的數量。不包括目前已經從快取中刪除的物件。
7. total_items:表示從memcached服務啟動到當前時間,系統儲存過的所有物件的數量,包括目前已經從快取中刪除的物件。
8. bytes:表示系統儲存快取物件所使用的儲存空間,單位為位元組。
9. curr_connections:表示當前系統開啟的連線數。
10. total_connections:表示從memcached服務啟動到當前時間,系統開啟過的連線的總數。
11. connection_structures:表示從memcached服務啟動到當前時間,被伺服器分配的連線結構的數量,這個解釋是協議文件給的,具體什麼意思,我目前還沒搞明白。
12. cmd_get:累積獲取資料的數量,這裡是3,因為我測試過3次,第一次因為沒有序列化物件,所以獲取資料失敗,是null,後邊有2次是我用不同物件測試了2次。
13. cmd_set:累積儲存資料的樹立數量,這裡是2.雖然我儲存了3次,但是第一次因為沒有序列化,所以沒有儲存到快取,也就沒有記錄。
14. get_hits:表示獲取資料成功的次數。
15. get_misses:表示獲取資料失敗的次數。
16. evictions:為了給新的資料專案釋放空間,從快取移除的快取物件的數目。比如超過快取大小時根據LRU演算法移除的物件,以及過期的物件。
17. bytes_read:memcached伺服器從網路讀取的總的位元組數。
18. bytes_written:memcached伺服器傳送到網路的總的位元組數。
19. limit_maxbytes:memcached服務快取允許使用的最大位元組數。這裡為67108864位元組,也就是是64M.與我們啟動memcached服務設定的大小一致。
20. threads:被請求的工作執行緒的總數量。這個解釋是協議文件給的,具體什麼意思,我目前還沒搞明白。