stats 命令算法
STAT pid 1552緩存
STAT uptime 3792服務器
STAT time 1262517674網絡
STAT version 1.2.6ide
STAT pointer_size 32memcached
STAT curr_items 1測試
STAT total_items 2spa
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:被請求的工做線程的總數量。
1、緩存命中率 = get_hits/cmd_get * 100%
2、get_misses的數字加上get_hits應該等於cmd_get
3、total_items == cmd_set == get_misses,當可用最大內存用光時,memcached就會刪掉一些內容,等式就會不成立
stats items
輸出各個slab中的item的數目和最老item的年齡(最後一次訪問距離如今的秒數) .
stats slabs
輸出slab中更詳細的item信息
stats sizes
輸出全部item的大小和個數
stats cachedump <slab_id> <limit_num>
根據<slab_id>輸出相同的<slab_id>中的item信息。<limit_num>是輸出的個數,當<limit_num>爲0是輸出全部的item。
flush_all
使在內存中全部的item失效。加入參數則表示在N秒後失效全部item。這項操做會當即返回,不會暫停服務器。這個操做並不會真的釋放內存空間,而是標誌全部的item爲失效
stats detail [on|off|dump]
設置或者顯示詳細操做記錄
參數爲on,打開詳細操做記錄
參數爲off,關閉詳細操做記錄
參數爲dump,顯示詳細操做記錄(每個鍵值get、set、hit、del的次數)
stats malloc
顯示內存分配數據
-p 監聽的端口
-l 鏈接的IP地址, 默認是本機
-d start 啓動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在運行的memcached服務
-d install 安裝memcached服務
-d uninstall 卸載memcached服務
-u 以的身份運行 (僅在以root運行的時候有效)
-m 最大內存使用,單位MB。默認64MB
-M 內存耗盡時返回錯誤,而不是刪除項
-c 最大同時鏈接數,默認是1024
-f 塊大小增加因子,默認是1.25
-n 最小分配空間,key+value+flags默認是48
-h 顯示幫助
查看Memcached當時狀態
printf "stats\r\n" | nc 127.0.0.1 11211
查看Memcached實時狀態
watch "printf 'stats\r\n' | nc 127.0.0.1 11211"