久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么解決redis連接超時問題

136次閱讀
沒有評論

共計 3203 個字符,預計需要花費 9 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章給大家分享的是有關怎么解決 redis 連接超時問題的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

問題描述:

redis 連接超時,然后定位到 redis 配置文件目錄被刪除,接著嘗試重啟 redis,發現連接中斷,未啟動成功。

報錯:

查看 redis 的輸出日志。出現下圖所示的報錯:

怎么解決 redis 連接超時問題

根據提示在 /etc/sysctl.conf 文件中添加 vm.overcommit_memory = 1,

怎么解決 redis 連接超時問題

怎么解決 redis 連接超時問題

修改其大透明頁,并將調整 redis 的 timeout 從 300 到 500 重啟正常;

echo never   /sys/kernel/mm/transparent_hugepage/enabled

怎么解決 redis 連接超時問題

關于 vm.overcommit_memory

它是   內存分配策略
可選值:0、1、2。0,  表示內核將檢查是否有足夠的可用內存供應用進程使用;如果有足夠的可用內存,內存申請允許;否則,內存申請失敗,并把錯誤返回給應用進程。1,  表示內核允許分配所有的物理內存,而不管當前的內存狀態如何。2,  表示內核允許分配超過所有物理內存和交換空間總和的內存

關于 Overcommit 和 OOM

Linux 對大部分申請內存的請求都回復 yes,以便能跑更多更大的程序。因為申請內存后,并不會馬上使用內存。這種技術叫做  Overcommit。當 linux 發現內存不足時,會發生 OOM killer(OOM=out-of-memory)。它會選擇殺死一些進程(用戶態進程,不是內核線程),以便釋放內存。當 oom-killer 發生時,linux 會選擇殺死哪些進程?選擇進程的函數是 oom_badness 函數(在 mm/oom_kill.c 中),該   函數會計算每個進程的點數(0~1000)。點數越高,這個進程越有可能被殺死。每個進程的點數跟 oom_score_adj 有關,而且  oom_score_adj 可以被設置(-1000 最低,1000 最高)。

關于 /sys/kernel/mm/transparent_hugepage/enabled

透明大頁介紹
Transparent Huge Pages 的一些官方介紹資料:Transparent Huge Pages (THP) are enabled by default in RHEL 6 for all applications. The kernel attempts to allocate hugepages whenever possible and any Linux process will receive 2MB pages if the mmap region is 2MB naturally aligned. The main kernel address space itself is mapped with hugepages, reducing TLB pressure from kernel code. For general information on Hugepages, see: What are Huge Pages and what are the advantages of using them?
The kernel will always attempt to satisfy a memory allocation using hugepages. If no hugepages are available (due to non availability of physically continuous memory for example) the kernel will fall back to the regular 4KB pages. THP are also swappable (unlike hugetlbfs). This is achieved by breaking the huge page to smaller 4KB pages, which are then swapped out normally.
But to use hugepages effectively, the kernel must find physically continuous areas of memory big enough to satisfy the request, and also properly aligned. For this, a khugepaged kernel thread has been added. This thread will occasionally attempt to substitute smaller pages being used currently with a hugepage allocation, thus maximizing THP usage.
In userland, no modifications to the applications are necessary (hence transparent). But there are ways to optimize its use. For applications that want to use hugepages, use of posix_memalign() can also help ensure that large allocations are aligned to huge page (2MB) boundaries.
Also, THP is only enabled for anonymous memory regions. There are plans to add support for tmpfs and page cache. THP tunables are found in the /sys tree under /sys/kernel/mm/redhat_transparent_hugepage.

查看是否啟用透明大頁

cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never 使用命令查看時,如果輸出結果為 [always] 表示透明大頁啟用了。[never]表示透明大頁禁用、[madvise]表示(只在 MADV_HUGEPAGE 標志的 VMA 中使用 THP
如何 HugePages_Total 返回 0,也意味著標準大頁禁用了(注意傳統 / 標準大頁和透明大頁的區別)透明大頁(THP)管理和標準 / 傳統大頁(HP)管理都是操作系統為了減少頁表轉換消耗的資源而發布的新特性,雖然 ORACLE 建議利用大頁機制來提高數據庫的性能,但是 ORACLE 卻同時建議關閉透明大頁管理。這二者的區別在于大頁的分配機制,標準大頁管理是預分配的方式,而透明大頁管理則是動態分配的方式。[root@appnode001 ~]# grep -i HugePages_Total /proc/meminfo 
HugePages_Total: 0
cat /proc/sys/vm/nr_hugepages 返回 0 也意味著傳統大頁禁用了(傳統大頁和透明大頁)。[root@appnode001 ~]# cat /proc/sys/vm/nr_hugepages
0

感謝各位的閱讀!關于“怎么解決 redis 連接超時問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計3203字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 江山市| 玉山县| 富宁县| 金平| 江源县| 行唐县| 明星| 佛山市| 叶城县| 县级市| 儋州市| 庆元县| 黔南| 湘潭县| 华池县| 肥东县| 蓝田县| 乌拉特前旗| 方城县| 白银市| 民和| 南靖县| 美姑县| 佛教| 东台市| 浏阳市| 长沙市| 南城县| 平舆县| 临澧县| 桐城市| 宣城市| 永清县| 皋兰县| 云梦县| 翼城县| 和政县| 林口县| 吉木乃县| 梧州市| 平湖市|