最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

安裝時報指令錯誤的處理

2023-07-25 17:30 作者:Gauss松鼠會  | 我要投稿


概述

在使用官網(wǎng)提供的鏡像安裝數(shù)據(jù)庫,有時會遇到一些?"非法指令" "illegal instruction"?的問題,或者在一些本地搭建的虛擬機上,數(shù)據(jù)庫啟動失敗,但是沒有很明確的錯誤信息的問題。這些往往是由于 CPU 指令集不兼容導致的。

常見的有 3 種:

  • arm CPU 下的 lse 指令

  • x86_64 CPU 下的 rdtscp 指令

  • x86_64 CPU 下的 avx 指令

1. arm 服務器下 LSE 指令

官網(wǎng)發(fā)布的?openEuler_arm?包,在編譯的時候,打開了ARM_LSE指令集做了編譯的優(yōu)化。但是對于一些其他 arm 服務器,不一定支持。

構建腳本:

實測在?鯤鵬 920?和?麒麟 990?的 cpu 芯片下是支持安裝的。cpu 可以通過?lscpu?名稱查看。

對于其他不自持該指令的系統(tǒng),需要去掉?-D__ARM_LSE?指令重新編譯即可。

在編譯腳本中?build\script\utils\make_compile.sh,刪除掉所有的?-D__ARM_LSE?, 重新打包數(shù)據(jù)庫。

patch 如下圖:

2. x86 服務器下 rdtscp 指令

rdtscp 指令集用來檢索 CPU 周期計數(shù)器,MOT 特性有用到。

在 server 中位置如下:src\gausskernel\storage\mot\core\infra\synchronization\cycles.h

有些自己搭建的虛擬機可能沒有這個指令集,導致數(shù)據(jù)庫無法啟動。

檢測方式

使用 lscpu 命令進行檢測是否具有該指令集:?lscpu | grep rdtscp

解決方法

如果沒有該指令集,需要開啟 CPU 直通模式 (host-passthrough)

3. x86 服務器下 avx 指令

avx 指令集用來進行加速計算,主要是 db4ai 在使用。該指令集從 2.1.0?版本開始引入,如果存在 2.1.0 之前版本可以運行數(shù)據(jù)庫而 2.1.0 之后數(shù)據(jù)庫啟動失敗,也有可能是沒有該指令導致。

檢測方式

使用 lscpu 命令進行檢測是否具有該指令集:?lscpu | grep avx

解決方法

如果沒有該指令集,從代碼中刪掉該指令集的引用,重新打包數(shù)據(jù)庫。

該指令集的引用在 Makefile 里面,可以全局搜索?-mavx?, 刪掉如下編譯選項里面加載-mavx 指令,然后重新打包構建即可


本文作者:zhang_xubo

安裝時報指令錯誤的處理的評論 (共 條)

分享到微博請遵守國家法律
永泰县| 广昌县| 朔州市| 霍林郭勒市| 绩溪县| 丽江市| 泗洪县| 兴国县| 偃师市| 商城县| 旬阳县| 财经| 巴林左旗| 吉首市| 澄城县| 哈巴河县| 罗山县| 平潭县| 雷州市| 广河县| 凤翔县| 金塔县| 门头沟区| 阿拉善右旗| 西充县| 花垣县| 蕲春县| 乐陵市| 永丰县| 青田县| 桦甸市| 邢台县| 玛多县| 日照市| 洞头县| 城固县| 宁明县| 涟水县| 巴马| 钦州市| 泰来县|