91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在redis中限制內存的使用大小

發布時間:2021-05-09 13:55:35 來源:億速云 閱讀:489 作者:Leah 欄目:開發技術

如何在redis中限制內存的使用大小?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

記錄一次生產環境問題排查過程:

生產環境部署方式:nginx + uwsgi + flask

問題描述:

發現生產環境中之前正常運行的服務突然不可用了,查看程序日志發現部分接口訪問時報I/O寫錯誤,nginx acess.log顯示504,error.log顯示 upstream time out.
同時 netstat -apn | grep 6379 | wc -l 檢查發現redis存在大量連接,進一步檢查發現其中大多為 SYN_SENT 包,連接大多歸屬于uwsgi 進程。

??因為程序中有很多接口被調用是會訪問redis, 以為是redis連接池導致,對程序中的redis連接池進行優化后重啟服務,剛啟動時一切正常,http 200, 但幾分鐘后服務再次掛掉,http 504.

檢查系統資源使用情況,發現 kswapd0 進程CPU占用很高,這個進程是當物理內存不足時,會將一部分硬盤當做虛擬內存來使用, 使用swap分區與內存換頁操作交換數據,導致CPU占用過高, 再細看發現redis-server內存占用已超過100%:

如何在redis中限制內存的使用大小

進入redis中查看info memory和各存儲數據的key下數據量,果然存在大量未處理完畢的數據。

到此問題終于是找到了。

設置redis最大占用內存

# 編輯redis配置文件,加入最大內存使用限制,我根據服務器的情況設置為3G
maxmemory 3221225472

設置redis數據過期策略:

redis中有6種過期策略:

# 根據LRU算法生成的過期時間來刪除
# volatile-lru -> remove the key with an expire set using an LRU algorithm
# 根據LRU算法刪除任何key。
# allkeys-lru -> remove any key accordingly to the LRU algorithm
# 根據過期設置來隨機刪除key。
# volatile-random -> remove a random key with an expire set
# 無差別隨機刪。
# allkeys-random -> remove a random key, any key
# 根據最近過期時間來刪除(輔以TTL)
# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
# 誰也不刪,直接在寫操作時返回錯誤。
# noeviction -> don't expire at all, just return an error on write operations

在redis配置文件中設置過期策略為:maxmemory-policy allkeys-lru

??一開始是設置為volatile-lru的,但是該策略只是清除設置過期時間的key值,因為很多key并沒有設置過期時間。因此修改為maxmemory-policy allkeys-lru,指明非活躍近期很少用的key值清除.

??在使用maxmemory-policy allkeys-lru策略時,內存超限后將不再存儲數據,但數據的讀取刪除操作不會受影響,超限時顯示錯誤

OOM command not allowed when used memory > 'maxmemory'

如何在redis中限制內存的使用大小

重啟程序,至此服務終于正常運行。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

集贤县| 灵宝市| 汽车| 泉州市| 尼玛县| 临泽县| 洪洞县| 安图县| 台东市| 郧西县| 探索| 平邑县| 唐海县| 新田县| 喀什市| 泗洪县| 稻城县| 抚远县| 廉江市| 新巴尔虎右旗| 卢氏县| 都江堰市| 天水市| 满洲里市| 吉水县| 桐庐县| 赣州市| 乐安县| 桓台县| 六安市| 东乌珠穆沁旗| 汤阴县| 德惠市| 五寨县| 聂拉木县| 剑阁县| 南汇区| 轮台县| 华安县| 万全县| 巩义市|