oracle大頁
metalink: 401749.1
#!/bin/bash
#
# hugepages_settings.sh
#
# Linux bash script to compute values for the
# recommended HugePages/HugeTLB configuration
# on Oracle Linux
#
# Note: This script does calculation for all shared memory
# segments available when the script is run, no matter it
# is an Oracle RDBMS shared memory segment or not.
#
# This script is provided by Doc ID 401749.1 from My Oracle Support
#
# Welcome text
echo "
This script is provided by Doc ID 401749.1 from My Oracle Support
() where it is intended to compute values for
the recommended HugePages/HugeTLB configuration for the current shared
memory segments on Oracle Linux. Before proceeding with the execution please note following:
* For ASM instance, it needs to configure ASMM instead of AMM.
* The 'pga_aggregate_target' is outside the SGA and
you should accommodate this while calculating SGA size.
* In case you changes the DB SGA size,
as the new SGA will not fit in the previous HugePages configuration,
it had better disable the whole HugePages,
start the DB with new SGA size and run the script again.
And make sure that:
* Oracle Database instance(s) are up and running
* Oracle Database 11g Automatic Memory Management (AMM) is not setup
(See Doc ID 749851.1)
* The shared memory segments can be listed by command:
# ipcs -m
Press Enter to proceed..."
read
# Check for the kernel version
KERN=`uname -r | awk -F. '{ printf("%d.%d\n",$1,$2); }'`
# Find out the HugePage size
HPG_SZ=`grep Hugepagesize /proc/meminfo | awk '{print $2}'`
if [ -z "$HPG_SZ" ];then
echo "The hugepages may not be supported in the system where the script is being executed."
exit 1
fi
# Initialize the counter
NUM_PG=0
# Cumulative number of pages required to handle the running shared memory segments
for SEG_BYTES in `ipcs -m | cut -c44-300 | awk '{print $1}' | grep "[0-9][0-9]*"`
do
MIN_PG=`echo "$SEG_BYTES/($HPG_SZ*1024)" | bc -q`
if [ $MIN_PG -gt 0 ]; then
NUM_PG=`echo "$NUM_PG+$MIN_PG+1" | bc -q`
fi
done
RES_BYTES=`echo "$NUM_PG * $HPG_SZ * 1024" | bc -q`
# An SGA less than 100MB does not make sense
# Bail out if that is the case
if [ $RES_BYTES -lt 100000000 ]; then
echo "***********"
echo "** ERROR **"
echo "***********"
echo "Sorry! There are not enough total of shared memory segments allocated for
HugePages configuration. HugePages can only be used for shared memory segments
that you can list by command:
# ipcs -m
of a size that can match an Oracle Database SGA. Please make sure that:
* Oracle Database instance is up and running
* Oracle Database 11g Automatic Memory Management (AMM) is not configured"
exit 1
fi
# Finish with results
case $KERN in
'2.2') echo "Kernel version $KERN is not supported. Exiting." ;;
'2.4') HUGETLB_POOL=`echo "$NUM_PG*$HPG_SZ/1024" | bc -q`;
echo "Recommended setting: vm.hugetlb_pool = $HUGETLB_POOL" ;;
'2.6') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
'3.8') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
'3.10') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
'4.1') echo "Recommended setting: vm.nr_hugepages = $NUM_PG" ;;
esac
# End
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20893244/viewspace-2222291/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 標準大頁和透明大頁Oracle
- oracle 大頁配置詳細介紹Oracle
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- oracle 分頁寫法Oracle
- Oracle的特性分頁Oracle
- Oracle在Linux下對記憶體大頁HugePage的實踐OracleLinux記憶體
- Oracle Rownum分頁改寫Oracle
- mysql大頁配置MySql
- MySql/Oracle和SQL Server的分頁查MySqlOracleServer
- Oracle 儲存過程分頁 + Sqlsugar呼叫Oracle儲存過程SqlSugar
- 【TUNE_ORACLE】Oracle資料庫與HugePages(四)如何禁用透明大頁Oracle資料庫
- Oracle資料庫中的分頁查詢Oracle資料庫
- Oracle大表快速建立索引Oracle索引
- .net中使用oracle資料庫分頁小技巧Oracle資料庫
- oracle大資料量分批刪除Oracle大資料
- ORACLE LOB大欄位維護Oracle
- Oracle RAC一鍵部署大綱Oracle
- oracle大表效能最佳化Oracle
- openGauss-大頁記憶體記憶體
- Oracle最佳化之單表分頁最佳化Oracle
- 淺析Oracle(rownum)和Mysql(limit)分頁的區別OracleMySqlMIT
- Oracle OCP(11):操作大資料集Oracle大資料
- Oracle優化案例-單表分頁語句的優化(八)Oracle優化
- 探索MYSQL開啟大頁記憶體MySql記憶體
- 1700 頁,52 萬字,6 大主題…
- 大豬網網頁遊戲平臺網頁遊戲
- Oracle億級大表高效刪除案例分析Oracle
- Oracle總結【SQL細節、多表查詢、分組查詢、分頁】OracleSQL
- 技術分享 | 淺談一下大頁
- Oracle 10g大檔案表空間(轉)Oracle 10g
- [20210528]oracle大表空間預分配問題.txtOracle
- hibernate 自定義表名與列名 - 增刪改查分頁 - 相容Mysql和OracleMySqlOracle
- Dreamweaver製作網頁經典問題大整理網頁
- Linux標準大頁設定不合理案例Linux
- HTML網頁製作的強大8條技巧HTML網頁
- G014-ORACLE-ASK O SQL*PLUS / 達夢DiSQL / 高斯ZSQL 命令列翻頁OracleSQL命令列
- Oracle服務啟動-索引-子查詢-分頁儲存過程問題Oracle索引儲存過程
- oracle系統表空間過大問題處理Oracle