如果是
創(chuàng)新互聯(lián)公司2013年至今,公司以做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶近千家,涉及國(guó)內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過(guò)專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
linux系統(tǒng)
,可以使用top命令,windows系統(tǒng),查看
資源管理器
,找到mysql的進(jìn)程,查看使用內(nèi)存。
命令: show processlist;
如果是root帳號(hào),你能看到所有用戶的當(dāng)前連接。如果是其它普通帳號(hào),只能看到自己占用的連接。
show processlist;只列出前100條,如果想全列出請(qǐng)使用show full processlist;
mysql show
processlist;
命令: show status;
命令:show status like '%下面變量%';
Aborted_clients 由于客戶沒(méi)有正確關(guān)閉連接已經(jīng)死掉,已經(jīng)放棄的連接數(shù)量。
Aborted_connects
嘗試已經(jīng)失敗的MySQL服務(wù)器的連接的次數(shù)。
Connections 試圖連接MySQL服務(wù)器的次數(shù)。
Created_tmp_tables
當(dāng)執(zhí)行語(yǔ)句時(shí),已經(jīng)被創(chuàng)造了的隱含臨時(shí)表的數(shù)量。
Delayed_insert_threads 正在使用的延遲插入處理器線程的數(shù)量。
Delayed_writes 用INSERT DELAYED寫入的行數(shù)。
Delayed_errors 用INSERT
DELAYED寫入的發(fā)生某些錯(cuò)誤(可能重復(fù)鍵值)的行數(shù)。
Flush_commands 執(zhí)行FLUSH命令的次數(shù)。
Handler_delete
請(qǐng)求從一張表中刪除行的次數(shù)。
Handler_read_first 請(qǐng)求讀入表中第一行的次數(shù)。
Handler_read_key
請(qǐng)求數(shù)字基于鍵讀行。
Handler_read_next 請(qǐng)求讀入基于一個(gè)鍵的一行的次數(shù)。
Handler_read_rnd
請(qǐng)求讀入基于一個(gè)固定位置的一行的次數(shù)。
Handler_update 請(qǐng)求更新表中一行的次數(shù)。
Handler_write
請(qǐng)求向表中插入一行的次數(shù)。
Key_blocks_used 用于關(guān)鍵字緩存的塊的數(shù)量。
Key_read_requests
請(qǐng)求從緩存讀入一個(gè)鍵值的次數(shù)。
Key_reads 從磁盤物理讀入一個(gè)鍵值的次數(shù)。
Key_write_requests
請(qǐng)求將一個(gè)關(guān)鍵字塊寫入緩存次數(shù)。
Key_writes 將一個(gè)鍵值塊物理寫入磁盤的次數(shù)。
Max_used_connections
同時(shí)使用的連接的最大數(shù)目。
Not_flushed_key_blocks 在鍵緩存中已經(jīng)改變但是還沒(méi)被清空到磁盤上的鍵塊。
Not_flushed_delayed_rows 在INSERT DELAY隊(duì)列中等待寫入的行的數(shù)量。
Open_tables 打開表的數(shù)量。
Open_files 打開文件的數(shù)量。
Open_streams 打開流的數(shù)量(主要用于日志記載)
Opened_tables
已經(jīng)打開的表的數(shù)量。
Questions 發(fā)往服務(wù)器的查詢的數(shù)量。
Slow_queries
要花超過(guò)long_query_time時(shí)間的查詢數(shù)量。
Threads_connected 當(dāng)前打開的連接的數(shù)量。
Threads_running 不在睡眠的線程數(shù)量。
Uptime 服務(wù)器工作了多少秒
查看 /proc/meminfo
Tips:
“大內(nèi)存頁(yè)”也稱傳統(tǒng)大頁(yè)、大頁(yè)內(nèi)存等有助于 Linux 進(jìn)行虛擬內(nèi)存的管理,標(biāo)準(zhǔn)的內(nèi)存頁(yè)為 4KB,這里使用“大內(nèi)存頁(yè)”最大可以定義 1GB 的頁(yè)面大小,在系統(tǒng)啟動(dòng)期間可以使用“大內(nèi)存頁(yè)”為應(yīng)用程序預(yù)留一部分內(nèi)存,這部分內(nèi)存被占用且永遠(yuǎn)不會(huì)被交換出內(nèi)存,它會(huì)一直保留在那里,直到改變配置。(詳細(xì)介紹請(qǐng)看下面鏈接官方解釋)
那么這么大頁(yè)內(nèi)存是分配給誰(shuí)的呢?
查詢一下:
shell /proc/sys/vm/hugetlb_shm_group
27
shell id 27
uid=27(mysql) gid=27(mysql) groups=27(mysql)
hugetlb_shm_group 文件里填的是指定大頁(yè)內(nèi)存使用的用戶組 id,這里查看到是 MySQL 組 id,那既然是給 MySQL 的為什么 free 等于 total,并且 mysql 還只有 20 多 G 實(shí)際使用內(nèi)存呢?
原來(lái)在 MySQL 中還有專門啟用大內(nèi)存頁(yè)的參數(shù),在 MySQL 大內(nèi)存頁(yè)稱為 large page。
查看 MySQL 配置文件
發(fā)現(xiàn)配置文件中確實(shí)有 large-page 配置,但出于禁用狀態(tài)。
后與業(yè)務(wù)確認(rèn),很早之前確實(shí)啟用過(guò) mysql 的 large page,不過(guò)后面禁用了。排查到這基本就有了結(jié)論。
結(jié)論
這套環(huán)境之前開啟了 20000 的大內(nèi)存頁(yè),每頁(yè)大小為 2MB,占用了 40G 內(nèi)存空間,給 MySQL 使用,并且 MySQL 開啟了 large page,但后來(lái)不使用的時(shí)候,只關(guān)閉了 MySQL 端的 large page 參數(shù),但沒(méi)有實(shí)際更改主機(jī)的關(guān)于大內(nèi)存頁(yè)的配置,所以導(dǎo)致,實(shí)際上主機(jī)上的還存在 20000 的大內(nèi)存頁(yè),并且沒(méi)在使用,這一部分長(zhǎng)期空閑,并且其他程序不能使用。
所以 MySQL 在使用 20G 內(nèi)存左右,整個(gè)主機(jī)內(nèi)存就飽和了,然后在部分條件下,就觸發(fā)了 OOM,導(dǎo)致 mysqld 被 kill,但主機(jī)上又有 mysqld_safe 守護(hù)程序,所以又再次給拉起來(lái),就看到了文章初的偶爾連接不上的現(xiàn)象。
如何查看MySQL占用的內(nèi)存都用在哪了1、查看物理CPU的個(gè)數(shù)[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep “physical id”|sort |uniq|wc -l12、查看邏輯CPU的個(gè)數(shù)[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep “processor”|wc -l43、查看CPU是幾核(即,核心數(shù))[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep “cores”|uniqcpu cores : 44、查看CPU的主頻[root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep MHz|uniqcpu MHz : 2499.9825、當(dāng)前操作系統(tǒng)內(nèi)核信息[root@MysqlCluster01 ~]# uname -aLinux MysqlCluster01 2.6.32-431.20.3.el6.x86_64 #1 SMP Thu Jun 19 21:14:45 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux6、當(dāng)前操作系統(tǒng)發(fā)行版信息[root@MysqlCluster01 ~]# cat /etc/issueCentOS release 6.4 (Final)Kernel
on an m7、內(nèi)存使用情況[root@MysqlCluster01 ~]# free -mtotal used free shared buffers cachedMem: 7863 2738 5125 0 141 835-/+ buffers/cache: 1761 6102Swap: 3967 0 3967如何查看MySQL占用的內(nèi)存都用在哪了
分享題目:怎么查看mysql內(nèi)存 mysql怎么查詢數(shù)據(jù)庫(kù)內(nèi)存
本文網(wǎng)址:http://m.newbst.com/article18/doojjdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站維護(hù)、網(wǎng)站制作、企業(yè)建站、云服務(wù)器、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)