欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么看mysql虛擬內(nèi)存 查看mysql存儲(chǔ)空間

mysql 如何分配內(nèi)存

我們?nèi)匀皇褂脙蓚€(gè)會(huì)話,一個(gè)會(huì)話 run,用于運(yùn)行主 SQL;另一個(gè)會(huì)話 ps,用于進(jìn)行 performance_schema 的觀察:

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的靈丘網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

主會(huì)話線程號為 29,

將 performance_schema 中的統(tǒng)計(jì)量重置,

臨時(shí)表的表大小限制取決于參數(shù)? tmp_table_size 和 max_heap_table_size 中較小者,我們實(shí)驗(yàn)中以設(shè)置 max_heap_table_size 為例。

我們將會(huì)話級別的臨時(shí)表大小設(shè)置為 2M(小于上次實(shí)驗(yàn)中臨時(shí)表使用的空間),執(zhí)行使用臨時(shí)表的 SQL:

查看內(nèi)存的分配記錄:

會(huì)發(fā)現(xiàn)內(nèi)存分配略大于 2M,我們猜測臨時(shí)表會(huì)比配置略多一點(diǎn)消耗,可以忽略。

查看語句的特征值:

可以看到語句使用了一次需要落磁盤的臨時(shí)表。

那么這張臨時(shí)表用了多少的磁盤呢?

我們開啟 performance_schema 中 waits 相關(guān)的統(tǒng)計(jì)項(xiàng):

重做實(shí)驗(yàn),略過。

再查看 performance_schema 的統(tǒng)計(jì)值:

可以看到幾個(gè)現(xiàn)象:

1. 臨時(shí)表空間被寫入了 7.92MiB 的數(shù)據(jù)。

2. 這些數(shù)據(jù)是語句寫入后,慢慢逐漸寫入的。

來看看這些寫入操作的特征,該方法我們在?實(shí)驗(yàn) 03?使用過:

可以看到寫入的線程是 page_clean_thread,是一個(gè)刷臟操作,這樣就能理解數(shù)據(jù)為什么是慢慢寫入的。

也可以看到每個(gè) IO 操作的大小是 16K,也就是刷數(shù)據(jù)頁的操作。

結(jié)論:

我們可以看到,

1. MySQL 會(huì)基本遵守 max_heap_table_size 的設(shè)定,在內(nèi)存不夠用時(shí),直接將表轉(zhuǎn)到磁盤上存儲(chǔ)。

2. 由于引擎不同(內(nèi)存中表引擎為 heap,磁盤中表引擎則跟隨 internal_tmp_disk_storage_engine 的配置),本次實(shí)驗(yàn)寫磁盤的數(shù)據(jù)量和?實(shí)驗(yàn) 05?中使用內(nèi)存的數(shù)據(jù)量不同。

3. 如果臨時(shí)表要使用磁盤,表引擎配置為 InnoDB,那么即使臨時(shí)表在一個(gè)時(shí)間很短的 SQL 中使用,且使用后即釋放,釋放后也會(huì)刷臟頁到磁盤中,消耗部分 IO。

MySQL占用內(nèi)存過高怎么辦

服務(wù)器內(nèi)存占用過高的解決方法:

1,首先通過任務(wù)管理器進(jìn)行進(jìn)程排序,查找占用內(nèi)存較大的程序進(jìn)程。一般占用內(nèi)存較大的進(jìn)程有W3WP、sqlserver、mysqld-nt.exe;

2, 站點(diǎn)進(jìn)程w3wp 可以在cmd命令行中通過 iisapp 命令來對應(yīng)是那個(gè)網(wǎng)站占用內(nèi)存較大。可以通過設(shè)置回收時(shí)間、內(nèi)存最大使用值或共用進(jìn)程池來減少內(nèi)存的占用,但是如果要保證網(wǎng)站的訪問質(zhì)量,還是建議升級至更高型號來解決;

3,數(shù)據(jù)庫 sql server 也可以通過數(shù)據(jù)庫的企業(yè)管理器來設(shè)置最大內(nèi)存占用,但是如果網(wǎng)站程序必須要占用較大內(nèi)存的話,設(shè)置后會(huì)發(fā)生頁面報(bào)錯(cuò)、打不開等問題;

4,MYSQL本身會(huì)占用較大虛擬內(nèi)存,如果不使用mysql數(shù)據(jù)庫的話,可以將其停止。

如何查看mysql內(nèi)存占用原因

查看 /proc/meminfo

Tips:

“大內(nèi)存頁”也稱傳統(tǒng)大頁、大頁內(nèi)存等有助于 Linux 進(jìn)行虛擬內(nèi)存的管理,標(biāo)準(zhǔn)的內(nèi)存頁為 4KB,這里使用“大內(nèi)存頁”最大可以定義 1GB 的頁面大小,在系統(tǒng)啟動(dòng)期間可以使用“大內(nèi)存頁”為應(yīng)用程序預(yù)留一部分內(nèi)存,這部分內(nèi)存被占用且永遠(yuǎn)不會(huì)被交換出內(nèi)存,它會(huì)一直保留在那里,直到改變配置。(詳細(xì)介紹請看下面鏈接官方解釋)

那么這么大頁內(nèi)存是分配給誰的呢?

查詢一下:

shell /proc/sys/vm/hugetlb_shm_group

27

shell id 27

uid=27(mysql) gid=27(mysql) groups=27(mysql)

hugetlb_shm_group 文件里填的是指定大頁內(nèi)存使用的用戶組 id,這里查看到是 MySQL 組 id,那既然是給 MySQL 的為什么 free 等于 total,并且 mysql 還只有 20 多 G 實(shí)際使用內(nèi)存呢?

原來在 MySQL 中還有專門啟用大內(nèi)存頁的參數(shù),在 MySQL 大內(nèi)存頁稱為 large page。

查看 MySQL 配置文件

發(fā)現(xiàn)配置文件中確實(shí)有 large-page 配置,但出于禁用狀態(tài)。

后與業(yè)務(wù)確認(rèn),很早之前確實(shí)啟用過 mysql 的 large page,不過后面禁用了。排查到這基本就有了結(jié)論。

結(jié)論

這套環(huán)境之前開啟了 20000 的大內(nèi)存頁,每頁大小為 2MB,占用了 40G 內(nèi)存空間,給 MySQL 使用,并且 MySQL 開啟了 large page,但后來不使用的時(shí)候,只關(guān)閉了 MySQL 端的 large page 參數(shù),但沒有實(shí)際更改主機(jī)的關(guān)于大內(nèi)存頁的配置,所以導(dǎo)致,實(shí)際上主機(jī)上的還存在 20000 的大內(nèi)存頁,并且沒在使用,這一部分長期空閑,并且其他程序不能使用。

所以 MySQL 在使用 20G 內(nèi)存左右,整個(gè)主機(jī)內(nèi)存就飽和了,然后在部分條件下,就觸發(fā)了 OOM,導(dǎo)致 mysqld 被 kill,但主機(jī)上又有 mysqld_safe 守護(hù)程序,所以又再次給拉起來,就看到了文章初的偶爾連接不上的現(xiàn)象。

文章題目:怎么看mysql虛擬內(nèi)存 查看mysql存儲(chǔ)空間
本文鏈接:http://www.chinadenli.net/article8/dddoiip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站Google外貿(mào)網(wǎng)站建設(shè)網(wǎng)站改版標(biāo)簽優(yōu)化響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)