[20221125]設定hugepages遇到的問題.txt
[20221125]設定hugepages遇到的問題.txt
--//前幾天我在dg上修改oracle一個引數,要重啟才生效,我看了一下資料庫沒有采用hugepages,想著順手設定hugepages,沒想到遇到問題
--//,我開始以為業務不會受影響.沒想到開發或者同事有一些查詢移到dg上利用它做只讀查詢完成,導致前臺一些查詢業務受到短暫的影
--//響.做一個事後記錄分析總結,避免以後重犯類似錯誤.
1.環境:
SYS@192.168.100.237:1521/orcldg> @pr
==============================
PORT_STRING : x86_64/Linux 2.4.xx
VERSION : 19.0.0.0.0
BANNER : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
BANNER_FULL : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
BANNER_LEGACY : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
CON_ID : 0
PL/SQL procedure successfully completed.
2.遇到問題1:
--//配置hugepages要修改/etc/security/limits.conf,加入如下內容.
# grep memlock /etc/security/limits.conf
# - memlock - max locked-in-memory address space (KB)
oracle soft memlock unlimited
oracle hard memlock unlimited
--//而我操作介面使用tmux登入,重啟資料庫後,root執行sysctl -p後,直接startup,導致資料庫無法啟動.
--//不過我馬上明白過來,要重新退出在登入oracle使用者.執行就ok了.
--//可以做一個簡單測試:
--//註解memlock內容:
# grep memlock /etc/security/limits.conf
# - memlock - max locked-in-memory address space (KB)
#oracle soft memlock unlimited
#oracle hard memlock unlimited
# su - oracle
$ grep "Max locked memory" /proc/self/limits
Max locked memory 65536 65536 bytes
--//soft , hard memlock = 65536 位元組,太小了.
--//取消註解memlock內容:
# grep memlock /etc/security/limits.conf
# - memlock - max locked-in-memory address space (KB)
oracle soft memlock unlimited
oracle hard memlock unlimited
# su - oracle
$ grep "Max locked memory" /proc/self/limits
Max locked memory unlimited unlimited bytes
--//soft , hard memlock = unlimited.
--//總之遇到這類問題要保持清醒的頭腦,意識到退出會話再登入再執行就可以了.
--//另外參考連結http://blog.itpub.net/267265/viewspace-2645466/=>[20190523]修改引數後一些細節注意2.txt,
--//當時的測試也給了我現在很大幫助.
3.遇到問題2:
--//sga_max_size,sga_target設定8G,我想設定vm.nr_hugepages = 4100,於是修改如下::
# grep vm.nr /etc/sysctl.conf
vm.nr_hugepages = 4100
vm.nr_overcommit_hugepages = 1300
# sysctl -p | grep vm.nr
vm.nr_hugepages = 4100
vm.nr_overcommit_hugepages = 1300
--//注意一定要關閉資料庫再執行sysctl -p,不然更加無法獲得規定數量的vm.nr_hugepages.
--//感覺上這樣已經設定,而實際上linux無法找到一個這個大chunk的memory.導致實際的設定情況是:
# sysctl vm.nr_hugepages
vm.nr_hugepages = 3758
--//這樣的結果導致僅僅部分oracle共享記憶體使用hugepages.我開始不知道卡在這裡,檢視:
$ grep -i HugePages_Total /proc/meminfo
HugePages_Total: 3758
# free -m
total used free shared buff/cache available
Mem: 15751 8622 167 321 6962 6424
Swap: 20479 1087 19392
--//主要原因是無法獲取滿足需要的大chunk記憶體,設定vm.nr_hugepages的需求.
--//所以以後設定要注意這些細節問題,應該再安裝配置dg時做好這些前期工作.
--//當發現記憶體不足是,我還修改啟動模式為multi-user.target,順便做一個記錄,但是還是無法設定vm.nr_hugepages = 4100
# systemctl set-default multi-user.target
# systemctl isolate multi-user.target
# who -r
run-level 3 2022-11-23 11:31 last=5
--//最後,我還是修改sga_max_size,sga_target=7500M.保證資料庫啟動,先不影響業務的執行.
--//實際上這臺伺服器還是表現記憶體不足的情況
4.今天上班嘗試取消一些不必要的服務看看:
# systemctl disable ModemManager.service
Removed symlink /etc/systemd/system/multi-user.target.wants/ModemManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.ModemManager1.service.
# systemctl stop ModemManager.service
# systemctl disable postfix.service
Removed symlink /etc/systemd/system/multi-user.target.wants/postfix.service.
# systemctl stop postfix.service
# systemctl disable cups.service
# systemctl stop cups.service
# sysctl -p
...
# sysctl vm.nr_hugepages
vm.nr_hugepages = 3758
--//還是不行.不知道是否應該先關閉資料庫再執行sysctl -p,生產系統不幹亂動,暫時放棄!!
5.總結:
--//重啟dg前,最好先問一下同事是否可行,因為不知道一些具體的業務情況.
--//事前配置好資料庫引數以及相關設定,儘量避免這種中間改動維護工作,導致時間倉促,現場導致30分鐘的業務停頓.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2925374/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20191129]關於hugepages的問題.txt
- [20191202]關於hugepages相關問題.txt
- [20201221]spfile設定問題.txt
- [20191202]關於oracle例項是否使用hugepages問題.txtOracle
- [20211210]優化遇到的奇怪問題.txt優化
- [20191204]關於oracle例項是否使用hugepages問題2.txtOracle
- [20211221]分析sql語句遇到的問題.txtSQL
- [20221111]bash eval設定變數問題.txt變數
- [20191211]hugepages pagetables.txt
- [20240309]在windwos下使用sed遇到的問題.txt
- [20241118]NLS_LANG設定問題2.txt
- [20240804]關於kitty設定與linux LANG環境設定問題.txtLinux
- [20231102]除錯bash shell指令碼遇到的問題.txt除錯指令碼
- [20210107]編寫bash shell指令碼遇到的問題.txt指令碼
- SpringBoot使用IDEA設定的外部Tomcat啟動,遇到的問題和解決Spring BootIdeaTomcat
- [20241110]使用xto10.sql指令碼遇到的問題.txtSQL指令碼
- [20230329]記錄除錯sql語句遇到的問題.txt除錯SQL
- [201804012]關於hugepages 3.txt
- 記一次 Dcat-admin 圖表設定高度遇到的問題
- 無線WiFi設定和使用遇到問題及注意事項WiFi
- [20231017]使用dbms_xplan.display_awr查詢遇到的問題.txt
- [20221130]最佳化備庫dg遇到的問題2.txt
- [20190103]設定pre_page_sga=true啟動緩慢的問題.txt
- [20191204]sqlplus特殊定義導致的問題.txtSQL
- [20221214]limits.conf裡面關於memlock設定問題.txtMIT
- [20190124]bbed恢復資料遇到延遲塊清除的問題.txt
- linux遇到的問題Linux
- Vagrant 遇到的問題
- Homestead 遇到的問題
- sudo 遇到的問題
- JackJson遇到的問題JSON
- mysql 遇到的問題MySql
- WangEditor遇到的問題
- STM32埠IO方向設定問題的IO方向設定問題
- zotero的同步設定問題
- [20220308]查詢x$ksmmem遇到的疑問.txt
- 【TUNE_ORACLE】Oracle資料庫與HugePages(三)HugePages常見問題和解決辦法Oracle資料庫
- 使用git遇到的問題Git