掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Redis錯誤是指硬件的錯誤,這些錯誤會成為性能影響的問題。它源于一種叫做透明大頁錯誤的硬件結(jié)構(gòu)錯誤。 Redis 透明大頁錯誤是在處理虛擬機管理的內(nèi)存頁表的情況下發(fā)生的,在檢測出該錯誤之前,其實它并不能注意到無法找到頁面的。 因此,會出現(xiàn)讀取和寫入內(nèi)存時無效地訪問虛擬內(nèi)存表項和頁表項,結(jié)果就是一個顯示不出來的“無效頁”。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的富川網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
盡管這種錯誤通常不會影響 Redis 執(zhí)行過程,但是在 Redis 中任何細微的變化都可能影響性能。由于 Redis 的模型通常與內(nèi)存頁大小有關(guān),因此這樣的情況可能會導(dǎo)致延遲,超出預(yù)期的內(nèi)存使用和內(nèi)存溢出,結(jié)果就是根服務(wù)的性能下降。為了解決 Redis 透明大頁錯誤,首先需要了解虛擬內(nèi)存部分的一些細節(jié)。
VM 管理的內(nèi)存頁表包含了從物理內(nèi)存到虛擬內(nèi)存對應(yīng)的映射配置,以及允許或阻止內(nèi)存頁面可以被訪問的標志。采用特定的算法,VM管理程序可以確定頁面的位置并隱藏大小的詳細信息,一旦它被錯誤地訪問,就會引發(fā)錯誤。
顯然,解決 Redis 透明大頁錯誤需要調(diào)查硬件設(shè)備和軟件的相關(guān)信息,并盡可能確定導(dǎo)致問題的原因。比如,加速硬件的訪問,通過合理的調(diào)整頁大小,重新配置文件大小等等。
另外,為了防止 Redis 透明大頁錯誤產(chǎn)生,開發(fā)者一般還可以使用如下代碼:
`madvise(MADV_NOHUGEPAGE)`
這段代碼可以告訴VM內(nèi)核小于其內(nèi)存首選頁的所有內(nèi)存訪問都請求不使用大頁,以避免透明大頁錯誤的出現(xiàn)。事實上,這也是目前最常用的方法,應(yīng)開發(fā)者在實踐中使用,以避免 Redis 透明大頁錯誤帶來的性能問題。
Redis 透明大頁錯誤是一種常見的硬件結(jié)構(gòu)錯誤,為了避免它對 Redis 操作造成不良影響,應(yīng)用開發(fā)者要熟練掌握怎樣去調(diào)整硬件和使用特定代碼,以防止這類錯誤的出現(xiàn)。
成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁設(shè)計、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊、網(wǎng)頁、VI設(shè)計,網(wǎng)站、軟件、微信、小程序開發(fā)于一體。

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流