2013-05-16 166 views
1

我在安裝有1GB內存的VPS Windows 2008 Web服務器上安裝MySQL。MYSQL內存使用情況

有沒有爲MYSQL設置最大內存使用限制的方法。

如果可以通過它完成工作,我安裝了工作臺。

非常感謝

約翰

+0

我這麼認爲。檢查mysql目錄中的ini文件。 (稱爲mycnf.ini !?)並更改值,然後重新啓動mysql。 – bestprogrammerintheworld

回答

2

如果你真的想強加硬限制,你可以這樣做,但你必須在操作系統級別做,因爲沒有內置的設置。在linux中,你可以使用ulimit,但是你可能必須修改MySQL啓動的方式來實現這一點。

最好的解決方案是調整你的服務器,這樣通常的MySQL內存設置的組合將導致你的MySQL安裝的內存使用量普遍較低。當然,這對你的數據庫的性能產生負面影響,但一些可以在my.ini的調整設置爲:

key_buffer_size 
query_cache_size 
query_cache_limit 
table_cache 
max_connections 
tmp_table_size 
innodb_buffer_pool_size 

繪製內存使用在Linux中,你可以很容易地使用腳本

while true 
do 
    date >> ps.log 
    ps aux | grep mysqld >> ps.log 
    sleep 60 
done 

如果您嘗試檢查表緩存相關分配 運行「FLUSH TABLES」並查看內存使用情況何時停止。

請注意,儘管從操作系統中分配內存的方式可能不會造成 請參閱「VSZ」關閉。您可能會看到的是定期刷新表格 或降低表格緩存將內存消耗減少爲 ,原因是。

檢查Innodb分配了多少內存通常很有幫助。事實上,這往往是我做的第一件事情之一,因爲它侵入性最小。運行SHOW ENGINE INNODB STATUS並查找內存信息塊