****欧欧美毛片4,国产午夜精品视频,97视频在线观看免费视频,久久七国产精品

數據恢復咨詢熱線:400-666-3702??

歡迎訪問南京兆柏數據恢復公司,專業數據恢復15年

兆柏數據恢復公司

?數據恢復教程

?當前位置: 主頁 > 數據恢復教程

故障分析 | 數據庫服務器內存不足一例分析

瀏覽量: 次 發布日期:2023-09-14 20:03:51

故障分析 | 數據庫服務器內存不足一例分析

  作者:付祥

  現居珠海,主要負責 Oracle、MySQL、mongoDB 和 Redis 維護工作。

  本文來源:原創投稿

  * 愛可生開源社區出品,原創內容未經授權不得隨意使用,轉載請聯系小編并注明來源。

  監控告警某臺機器空閑內存低于10%,執行top命令,按內存降序排序,部分輸出如下:

  total=32G,used=19G,buff/cache=11G,available=3G,最耗內存進程為 MySQL、Redis,總計約18.2G,其他進程占用內存都比較低,buff/cache 內存中只有3G是有效的,剩余8G內存去哪里?

  執行 free 命令進一步查看:

  其中shared占用竟然占用了8G內存,通過man查看幫助:

  shared Memory來源于/proc/meminfo中Shmem,被tmpfs使用,df -h查看:

  目錄/run使用了8.6G內存,和shared占用內存一致,內存都消耗到哪些子目錄了?

  內存主要消耗在/run/systemd/users和/run/log/journal目錄,占用內存分別為7126M、1624M,較為異常的是/run/systemd/users占用內存過高,繼續分析這個目錄下有哪些文件

  乍一看,只有一個文件占用約40k,這和du統計的差異也太大了吧,是不是有隱藏文件:

  不看不知道,一看嚇一跳,隱藏文件數高達30w+,最早的文件有2018年的,最新的文件今天產生的,隨便打開一個文件看看:

  保存的是root用戶session信息,loginctl查看session信息:

  root用戶session數竟然高達2131個,隨便拿一個session看看:

  crond產生的session,這些session都沒有分配相關進程,當前狀態為active,按session排序后,挑選最近的session查看,都是2018年產生的:

  做了一個定時任務測試,session能正常分配進程,任務完成后session關閉:

  個人覺得可選解決方案如下:1、服務器上主要服務為MySQL和Redis,MySQL作為從庫使用,未承載業務讀流量,Redis近期將會遷移,/run/systemd/users目錄占用內存雖然在增長,5年了也只占用8G,增量很緩慢,故可以在線收縮MySQL innodb_buffer_pool_size使用內存,釋放一部分內存給操作系統,等Redis遷移了再做機器重啟處理。2、假設主機不可以重啟,通過lsof可知這些隱藏文件當前未被使用,故可以遷移到其他磁盤目錄,看看是否能達到釋放內存目的,且這些session都是crond 2018年產生的,并未分配相關進程,故通過loginctl kill-session ID干掉。目前采取方案1處理。

  本文關鍵字:#memory# #tmpfs# #crond#

  文章推薦:

  MySQL 相同 SQL 不同環境執行時間不一樣案例分析

  MySQL 從機故障重啟后主從同步報錯案例分析mysql 5.6 升級到 8.0 失敗一例處理

  關于SQLE愛可生開源社區的 SQLE 是一款面向數據庫使用者和管理者,支持多場景審核,支持標準化上線流程,原生支持 MySQL 審核且數據庫類型可擴展的 SQL 審核工具。

  SQLE 獲取類型地址版本庫https://github.com/actiontech/sqle文檔https://actiontech.github.io/sqle-docs-cn/發布信息https://github.com/actiontech/sqle/releases數據審核插件開發文檔https://actiontech.github.io/sqle-docs-cn/3.modules/3.7_auditplugin/auditplugin_development.html更多關于 SQLE 的信息和交流,請加入官方QQ交流群:637150065...

相關推薦