inmemory OOM了
有人問我有個SQL原來100ms的現在200毫秒了,為什麼?我看了一下,他這個是依託inmemory硬抗的那種SQL。裡面這個特性將資料放在記憶體中處理。這不是一個正式環境,我覺得開發能有此意識是非常不錯的。在測試環境發現了問題,避免帶病上陣。然後我檢查了後臺資料庫負荷、AWR等等,從AWR中看沒有多少inmemory的訪問。難道沒載入上來嗎?查詢了一下 select * from v$inmemory_area;
驚現OOM,我是第一次遇到。看上去應該是需要載入的資料超過了分配的記憶體。所以自然有一部分是無法使用了。
select owner,segment_name,inmemory_size,bytes,bytes_not_populated,populate_status,inmemory_priority from v$IM_SEGMENTS order by segment_name
用這個命令可以查到,一半的表失敗了。
知道問題了就好說了。要麼是加大記憶體來存放這些資料。
另外一個就是精細化調整了,選擇部分列加入到記憶體,而不用的不載入,按需。
舉例來說:
--create table t1 (id int, a varchar2(101),b varchar2(100));
Alter table t1 inmemory (id, a)
no inmemory(b);
再查詢 SELECT * FROM GV$IM_COLUMN_LEVEL 可以看到有些就沒載入進去。
其實多年經驗告訴我,資料庫就應該物理機給他一個大記憶體。用虛擬機器摳摳索索的問題總是不斷。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2923926/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- flush 快取對inmemory有什麼影響?快取
- 一次inmemory丟失引起的問題分析
- OOM(Out Of Memory)OOM
- Linux OOM 機制LinuxOOM
- IgniteFAQ-9-DataRegion OOMOOM
- tikv oom排查過程OOM
- OOM分析之問題一)OOM
- 如何防止 Elasticsearch 服務 OOM ?ElasticsearchOOM
- Kubernetes Pod OOM 排查日記OOM
- idea啟動專案oomIdeaOOM
- OOM(Out Of Memory)是什麼?OOM
- IgniteFAQ-12-Ignite報OOmOOM
- Trino Master OOM 排查記錄ASTOOM
- OOM分析之問題定位(二)OOM
- JVM讀書筆記之OOMJVM筆記OOM
- OOM異常型別總結OOM型別
- iOS開發實踐-OOM治理iOSOOM
- 執行緒池OOM異常執行緒OOM
- 使用Netty模擬發生OOMNettyOOM
- CentOS 配置OOM監控報警CentOSOOM
- OOM的起點到終點OOM
- 突發:當機崩潰OOMOOM
- OOM問題解決實踐OOM
- Android Web3j OOM解決AndroidWebOOM
- Spark —— Spark OOM Error問題排查定位SparkOOMError
- jmeter.bat配置(主要關於OOM)JMeterBATOOM
- 記一次oom問題排查OOM
- 【爬坑】一次OOM爬坑之旅OOM
- 從 GPT-4 到 AGI:計算OOMGPTOOM
- Spark任務OOM問題如何解決?SparkOOM
- MySQL OOM 系列一 Linux記憶體分配MySqlOOMLinux記憶體
- JVM-記憶體區域與OOMJVM記憶體OOM
- 一次線上OOM問題分析OOM
- 一次生產環境OOM排查OOM
- 記一次OOM問題排查過程OOM
- PostgreSQL DBA(157) - pgAdmin(OOM & max_locks_per_transaction )SQLOOM
- 淺談 maxMemory , totalMemory , freeMemory 和 OOM 與 native HeapOOM
- 緊張 + 刺激,源自一次 OOM 歷險OOM