iT邦幫忙

0

linux 記憶體使用量會自動上昇?

ram

apache或mysql的server有一種很特別的現象
重開機以後大約只吃到256MB
但是只要開機久了,記憶體使用量就會開始慢慢攀升
到最後快吃滿2G
那這樣我到底要怎麽判斷記憶體實際真正使用量
雲端server等級越高價格越貴
如果能降低等級省成本是最好的

像apache跟mysql的主機大家建議記憶體用多少會比較適合?

weiclin iT邦高手 4 級 ‧ 2018-04-12 18:09:45 檢舉
那些都可調整的..去研究一下 apache mpm 相關的設定吧
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
bizpro
iT邦大師 1 級 ‧ 2018-04-13 16:56:28

用以下指令可以查總體記憶體使用:

$ free
              total        used        free      shared  buff/cache   available
Mem:        8051484     3902884     1030408      207436     3118192     3575700
置換:    16143356           0    16143356

如上, total=used+free+(buff+cache)

但是只要開機久了,記憶體使用量就會開始慢慢攀升到最後快吃滿2G
如果不是您的應用系統吃重或記憶體溢漏, 這是Linux的特性. Linux中的程序會盡可能配置未被使用的記憶體為cache, 如上面數據顯示free只有1030408KB, 也就是free部份是1GB左右. 事實上cache部份有3GB之多. 這些cache是可被釋出給其他程序使用的.

像apache跟mysql的主機大家建議記憶體用多少會比較適合?
這個問題是沒有真確答案的. 不同應用系統有不同的需求, 如果您的應用系統是靜態或偽靜態網站, session數不大, 經過專業的調校, 500MB的記憶體已經很多的. 當然, 用Apache會較耗系統資源, 建議用Nginx. 一般上MySQL要給50%以上的記憶體. 以你2GB的記憶體, 可以給1GB以上給MySQL. 另外, 盡可能用SSD的雲端機器. 如果記憶體峰值高, swap到SSD也較快.

系統效能最關鍵的是TCP和MySQL的調校. 這兩個應該是瓶頸.

hsiang11 iT邦好手 1 級 ‧ 2018-04-14 01:28:53 檢舉

nginx是真的很省記憶體,測過500MB就已經過多,而且也不會像apache使用量一直攀升

我要發表回答

立即登入回答