當前位置:首頁 » 操作系統 » linuxmysql內存

linuxmysql內存

發布時間: 2025-04-02 18:04:28

1. linux伺服器下mysql啟動慢,怎麼解決

0 先了解主機和資料庫的環境
#主機
內存多大,為了看有多少剩餘能為mysql留出多少來:free

資源使用情況,看負載情況,重點看空閑 CPU百分比(帶 xx% id):top
#mysql
看mysql數據文件多大: -c -s /var/lib/mysql

1 初步調整(最主要的)
# 配置mysql的innodb內存佔用,根據上邊結果中剩餘內存(取80%)增加 innodb_buffer_pool_size的值
# 配置mysql的其它內存使用和緩存使用情況,不要加的太大,主要是 sort_buffer_size, join_buffer_size, key_cache_size。
配置依據是:總內存 - OS系統預留 - max_connections * (sort_buffer_size + join_buffer_size + read_buffer_size + read_rnd_buffer_size + thread_statck ) - key_cache_size > 0

2 優化調整(屬於優化性能方面)
主要是以下幾方面:
連接等待隊列數 back_log
客戶端請求線程緩存數 thread_cache_size
表緩沖的數量 table_open_cache
臨時表的內存大小,用於group by的優化 tmp_table_size

innodb日誌緩沖大小 innodb_log_buffer_size
innodb能打開表的數量大小(庫里的表特別多時增加此項值) innodb_open_files

2. linux 下怎麼優化mysql佔用內存

修改mysql配置文件,優化緩存大小和連接數連接方式,優化sql語句 ,記得mysql好像是有工具可以查看最佔用資源的sql語句,找到他,優化他。

安裝好mysql後,配製文件應該在/usr/local/mysql/share/mysql目錄中,配製文件有幾個,有my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf,不同的流量的網站和不同配製的伺服器環境,當然需要有不同的配製文件了。

一般的情況下,my-medium.cnf這個配製文件就能滿足我們的大多需要;一般我們會把配置文件拷貝到/etc/my.cnf 只需要修改這個配置文件就可以了,使用mysqladmin variables extended-status _u root _p 可以看到目前的參數,有3個配置參數是最重要的,即key_buffer_size,query_cache_size,table_cache。

key_buffer_size只對MyISAM表起作用,

key_buffer_size指定索引緩沖區的大小,它決定索引處理的速度,尤其是索引讀的速度。一般我們設為16M,實際上稍微大一點的站點這個數字是遠遠不夠的,通過檢查狀態值Key_read_requests和Key_reads,可以知道key_buffer_size設置是否合理。比例 key_reads / key_read_requests應該盡可能的低,至少是1:100,1:1000更好(上述狀態值可以使用SHOW STATUS LIKE 『key_read%』獲得)。 或者如果你裝了phpmyadmin 可以通過伺服器運行狀態看到,筆者推薦用phpmyadmin管理mysql,以下的狀態值都是本人通過phpmyadmin獲得的實例分析:

這個伺服器已經運行了20天

key_buffer_size _ 128M

key_read_requests _ 650759289

key_reads - 79112

比例接近1:8000 健康狀況非常好

3. 誰知道Linux下500M內存,nginx php mysql 怎麼分

This
is
for
a
system
with
little
memory
(32M
-
64M)
where
MySQL
playsan
important
part,
or
systems
up
to
128M
where
MySQL
is
used
together
withother
programs
(such
as
a
web
server)
cp
/usr/share/mysql/my-medium.cnf
/etc/my.cnf
每個php-fpm佔用20M左右的內存,
max_children默認5個,子進程太多反而會增加master
process調度的負擔,而且CPU進行過多的上下文切換也會浪費系統資源,得不償失,所以按
php-fpm.conf
默認配置就好:
pm
=
dynamic
pm.max_children
=
5
pm.start_servers
=
2
pm.min_spare_servers
=
1
pm.max_spare_servers
=
3
php-fpm很像httpd用prefork那樣運行,開始時fork出2個進程,根據請求數的增多自動fork多更多的子進程,配置里默認最多是5個。如果你的CPU多核,很強勁,
max_children
也可以設大點,比如可以設10個,要注意的是,即使內存夠大,
max_children也不要弄太多,CPU得跟得上才行。
至於nginx.conf,默認值就好,默認是1個工作進程,單個工作進程最大並發1024。
worker_processes
1;
worker_connections
1024;
別看Nginx默認才一個工作進程(裡麵包含一個主線程),這並不妨礙Nginx高效。
httpd
prefork那一堆工作進程,靜態和動態請求都一樣佔用線程,性能真沒Nginx好。
對於多核CPU,Nginx還可以配置綁定
核芯,充分利用多核CPU。

熱點內容
銹湖安卓在哪裡下載 發布:2025-04-03 17:14:34 瀏覽:979
Java項目案例分析 發布:2025-04-03 17:01:33 瀏覽:269
sql導入導出資料庫 發布:2025-04-03 16:48:18 瀏覽:780
微信平台資料庫 發布:2025-04-03 16:46:28 瀏覽:886
網路編程技術電大 發布:2025-04-03 16:43:06 瀏覽:348
編程菜鳥教程 發布:2025-04-03 16:39:51 瀏覽:254
android網路庫 發布:2025-04-03 16:36:52 瀏覽:556
北京時間伺服器ip地址埠號 發布:2025-04-03 16:35:56 瀏覽:855
基岩版伺服器埠什麼協議 發布:2025-04-03 16:34:30 瀏覽:597
手機前端編程軟體 發布:2025-04-03 16:33:19 瀏覽:442