飛騰2000+銀河麒麟v10安裝redis的注意事項


先說一下結論

無法復用ubuntu上面編譯的二進制文件
無法直接使用docker官網下面的arm64的鏡像運行
無法直接使用redis6.0.10最新版本編譯運行
可以使用redis5.0.4 進行編譯安裝運行. 
redis5.0.4無法直接使用redis6.0.10的redis.conf配置文件, 參數不一樣.

 

公司昨天新進了一台飛騰2000+的服務器, 昨天下午在上面安裝了redis以及我們自己的應用軟件

本來想復用之前的redis二進制文件, 但是發現不太行, 會報錯如下:

<jemalloc>: Unsupported system page size
段錯誤 (核心已轉儲)

經過一番搜索發現一個簡要的問題說明為 :

arm 架構上面:
在uos debian ubuntu 等操作系統 默認的pagesiz是4KB
但是在centos rhel 系列上面默認的pagesize 是 64KB 
然后redis 使用的jemalloc 內存分配庫 在編譯時就需要嚴格確認內存pagesize大小. 
所以在ubuntu 后者是銀河麒麟4.0 上面編譯的redis版本無法滿足 銀河麒麟v10服務器版本上面進行使用. 

簡單驗證一下內存頁面大小

銀河麒麟v10的版本

[root@localhost src]# cat /etc/os-release 
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Tercel)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"
ANSI_COLOR="0;31"

[root@localhost src]# getconf PAGESIZE
65536
[root@localhost src]# 

銀河麒麟v4的參數

root@lccy-2321321:~# cat /etc/os-release 
NAME="Kylin"
VERSION="4.0.2 (juniper)"
ID=kylin
ID_LIKE=debian
PRETTY_NAME="Kylin 4.0.2"
VERSION_ID="4.0.2"
HOME_URL="http://www.kylinos.cn/"
SUPPORT_URL="http://www.kylinos.cn/content/service/service.html"
BUG_REPORT_URL="http://www.kylinos.cn/"
UBUNTU_CODENAME=juniper
root@lccy-2321321:~# getconf PAGESIZE
4096

然后只能重新編譯處理

本來想着用一個最新版本的redis6.0.10 進行使用 但是發現還是存在問題:

 

 最后面還是提示內存有問題詳細信息為:

------ FAST MEMORY TEST ------
*** Preparing to test memory region 5e0000 (720896 bytes)
*** Preparing to test memory region 19060000 (196608 bytes)
*** Preparing to test memory region fffe60000000 (1073741824 bytes)
.O.O.O
Fast memory test PASSED, however your memory can still be broken. Please run a memory test for several hours if possible.

------ DUMPING CODE AROUND EIP ------
Symbol: _serverAssert (base: 0x478cc0)
Module: ./redis-server 127.0.0.1:6388 (base 0x400000)
$ xxd -r -p /tmp/dump.hex /tmp/dump.bin
$ objdump --adjust-vma=0x478cc0 -D -b binary -m i386:x86-64 /tmp/dump.bin
------
58161:M 21 Feb 2021 09:01:51.019 # dump of function (hexdump of 260 bytes):
fd7bbda9fd030091f35301a9d30b00d063e23e91f55b02a9f60300aaf50301aaf403022a60e44db9400000358ffeff97600080520107009021801691b1e7fe97e40316aae303142ae20315aa600080520107009021001791aae7fe9762e23e9160008052010700902180179156e806f955ec06f954e00db9a2e7fe9700008092010f805201000039f35341a9f55b42a9fd7bc3a8c0035fd6fd7bb2a9c10b00f0fd030091f51300f9f50300aa209c4db90009003460008052010700902140189190e7fe97a25e40f9600080520107009021e018918be7fe97a00640f9020480d2a1030191af3b0194e20300aa01070090600080522140199182e7fe97a24a40b960008052

=== REDIS BUG REPORT END. Make sure to include from START to END. ===

       Please report the crash by opening an issue on github:

           http://github.com/redis/redis/issues

  Suspect RAM error? Use redis-server --test-memory to verify it.

段錯誤 (核心已轉儲)

沒辦法 換用之前下載的redis5.0.4

進行編譯和安裝發現沒有問題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM