(1)vm.overcommit_memory
echo 'vm.overcommit_memory=1' >>/etc/sysctl.conf將這個參數的值調整為1,意思是把所有可用的物理內存都允許分配給你,只要有內存就給你來用,這樣可以避免申請內存失敗
2)vm.max_map_count
會影響中間件系統可以開啟的線程的數量
如果這個參數過小,有的時候可能會導致有些中間件無法開啟足夠的線程,進而導致報錯,甚至 中間件系統掛掉。
echo 'vm.max_map_count=655360' >>/etc/sysctl.conf(3)vm.swappiness
設置為 0 盡量別把任何一個進程放到磁盤swap區域去,盡量大家都用物理內存。
設置為 100 盡量把一些進程給放到磁盤swap區域去,內存騰出來給活躍的進程使用。
默認 60 可能會導致我們的中間件運行不活躍的時候被迫騰出內存空間然后放磁盤swap區域去。
因此通常在生產環境建議把這個參數調整小一些,比如設置為10,盡量用物理內存,別放磁盤swap區域去。
echo 'vm.swappiness=10' >>/etc/sysctl.conf4)ulimit
在大量頻繁的讀寫磁盤文件的時候,或者是進行網絡通信的時候,都會跟這個參數有關系
采用默認值,很可能 在線上會出現如下錯誤:error: too many openfiles
echo 'ulimit -n 1000000' >>/etc/profile對JVM參數進行調整
-Xms8g -Xmx8g -Xmn4g:默認的 堆大小是8g內存,新生代 是4g內存,但是我們的 高配物理機是48g內存的
完全可以給他們 翻幾倍,比如給 堆內存20g,其中 新生代給10g,甚至可以更多一些,當然要留一些內存給操作系統來用
-XX:+UseG1GC -XX:G1HeapRegionSize=16m:選用G1垃圾回收器來做分代回收,對新生代和老年代都是用G1來回收
這里把G1的region大小設置為了16m,這個因為機器內存比較多
所以region大小可以調大一些給到16m,不然用2m的region,會導致region數量過多的
-XX:G1ReservePercent=25:這個參數是說,在G1管理的老年代里預留25%的空閑內存,保證新生代對象晉升到老年代的時候有足
夠空間,避免老年代內存都滿了,新生代有對象要進入老年代沒有充足內存了
默認值是10%,略微偏少,這里RocketMQ給調大了一些
-XX:InitiatingHeapOccupancyPercent=30:這個參數是說,當堆內存的使用率達到30%之后就會自動啟動G1的并發垃圾回收,開
始嘗試回收一些垃圾對象
默認值是45%,這里調低了一些,也就是提高了GC的頻率,但是避免了垃圾對象過多,一次垃圾回收耗時過長的問題
-XX:-OmitStackTraceInFastThrow:這個參數是說,有時候JVM會拋棄一些異常堆棧信息,因此這個參數設置之后,就是禁用這個
特性,要把完整的異常堆棧信息打印出來
-XX:+AlwaysPreTouch:這個參數的意思是我們剛開始指定JVM用多少內存,不會真正分配給他,會在實際需要使用的時候再分配給
他
所以使用這個參數之后,就是強制讓JVM啟動的時候直接分配我們指定的內存,不要等到使用內存的時候再分配
-XX:MaxDirectMemorySize=15g:這是說RocketMQ里大量用了NIO中的direct buffer,這里限定了direct buffer最多申請多少,
如果你機器內存比較大,可以適當調大這個值,如果有朋友不了解direct buffer是什么,可以自己查閱一些資料。
-XX:-UseLargePages -XX:-UseBiasedLocking:這兩個參數的意思是禁用大內存頁和偏向鎖,這兩個參數對應的概念每個要說清楚
都得一篇文章,所以這里大家直接知道人家禁用了兩個特性即可。
最后我們做一點小的總結,RocketMQ 默認的JVM參數是采用了G1垃圾回收器,默認堆內存大小是8G
對RocketMQ核心參數進行調整rocketmq/distribution/target/apache-rocketmq/conf/dledger
在這里主要是有一個較為核心的參數:sendMessageThreadPoolNums=16
這個參數的意思就是 RocketMQ內部用來發送消息的線程池的線程數量,默認是16
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
新聞名稱:OS內核參數、JVM參數、RocketMQ核心參數的調整-創新互聯
分享地址:http://www.yijiale78.com/article4/ceidoe.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、網站制作、網站導航、商城網站、響應式網站、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯