国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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

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

分享到微博請遵守國家法律
景谷| 东辽县| 永嘉县| 信宜市| 伊通| 德惠市| 电白县| 元谋县| 汉中市| 连城县| 青铜峡市| 内江市| 垦利县| 太湖县| 枞阳县| 临沧市| 京山县| 丹巴县| 万宁市| 专栏| 辽源市| 沈阳市| 西华县| 汕尾市| 温宿县| 南和县| 章丘市| 淄博市| 山阴县| 鄂伦春自治旗| 定南县| 永德县| 宜春市| 若尔盖县| 梁河县| 安顺市| 金沙县| 武威市| 延安市| 灵山县| 汤阴县|