久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何解決Ruby當中常見的內存使用問題

162次閱讀
沒有評論

共計 849 個字符,預計需要花費 3 分鐘才能閱讀完成。

這篇文章主要講解了“如何解決 Ruby 當中常見的內存使用問題”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“如何解決 Ruby 當中常見的內存使用問題”吧!

Ruby 語言當中最為常見的就是內存使用問題,這一點在其它基于 JVM 的語言中亦頗為普遍 (是的,Java,說的就是你)。事實上,Ruby 的垃圾回收(簡稱 GC) 機制與 Java 非常接近。如果使用不當,其會帶來巨大的麻煩(正如下圖所示)。在這類情況下,GC 會停止運作,同時消耗服務器的整體 CPU 資源,甚至導致服務器重啟。

Unicorn 與 Ruby 內存泄露導致服務器宕機。

如何解決?

一、定期重啟您的 Ruby

如果大家使用的是高人氣 Unicorn  Web 服務器,那么內存問題可能會更加嚴重 mdash; mdash; 這是因為 Unicorn 采用 fork 機制。在 fork 過程中,其會對全部父內存內容進行復制(簡稱 CoW)。因此,大家可能需要使用“Unicorn  Worker Killer” gem 以監控服務器并在內存達到新高點或者請求數量增加至一定水平時進行重啟。由于該 gem 支持隨機化,因此服務器本身很可能并不會受到影響。

二、安裝此 killer:

三、調整內存

如果大家使用的是 Ruby 2.X 版本,則可通過配置 Unicorn 更好地使用 CoW 機制。

config/unicorn.rb

1)worker_processes: 1x 計算核心

2)timeout: 工作請求超時,應設定在 15 到 30 秒區間

3)preload_app: 啟用 CoW,但要求在 fork 上管理連接 / 斷開

四)認真考慮 GC 配置

動態語言存在著一定短板,然而正確的設計卻能幫助其始終在線且順暢運行。

感謝各位的閱讀,以上就是“如何解決 Ruby 當中常見的內存使用問題”的內容了,經過本文的學習后,相信大家對如何解決 Ruby 當中常見的內存使用問題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-04發表,共計849字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 枣强县| 土默特右旗| 永丰县| 游戏| 景洪市| 黄冈市| 英山县| 应城市| 怀集县| 睢宁县| 吉安市| 会宁县| 江北区| 图木舒克市| 来安县| 宿州市| 陈巴尔虎旗| 西乡县| 娄底市| 塔河县| 汾阳市| 遂平县| 西乌珠穆沁旗| 文安县| 新竹市| 分宜县| 库尔勒市| 华容县| 东源县| 清水县| 星座| 东阳市| 莱芜市| 永宁县| 蕲春县| 青岛市| 丰顺县| 中卫市| 应城市| 民乐县| 丁青县|