溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java大型中間件系統中須調整的Linux內核參數有哪些

發布時間:2021-11-09 16:45:00 來源:億速云 閱讀:182 作者:柒染 欄目:建站服務器

這篇文章將為大家詳細講解有關Java大型中間件系統中須調整的Linux內核參數有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

作為Java開發者,必可避免的需要開發或使用一些中間件,對于Java開發的中間件,除了JVM參數必須調整外, Linux的一些內核參數也必須要調整。

無非都是跟磁盤文件IO、網絡通信、內存管理、線程數量有關系的,因為我們的中間件系統在運行的時候無非就是跟這些打交道。

vm.overcommit_memory

這個參數有三個值可以選擇,0、1、2。

如果值是0的話,在你的中間件系統申請內存的時候,操作系統內核會檢查可用內存是否足夠,如果足夠的話就分配內存給你,如果感覺剩余內存不是太夠了,干脆就拒絕你的申請,導致你申請內存失敗,進而導致中間件系統異常出錯。因此一般需要將這個參數的值調整為1,意思是把所有可用的物理內存都允許分配給你,只要有內存就給你來用,這樣可以避免申請內存失敗的問題。

比如我們曾經線上環境部署的Redis就因為這個參數是0,導致在save數據快照到磁盤文件的時候,需要申請大內存的時候被拒絕了,進而導致了異常報錯。

可以用如下 命令修改:

echo 'vm.overcommit_memory=1' >> /etc/sysctl.conf

vm.max_map_count

這個參數的值會影響中間件系統可以開啟的線程的數量,同樣也是非常重要的。

如果這個參數過小,有的時候可能會導致有些中間件無法開啟足夠的線程,進而導致報錯,甚至中間件系統掛掉。

他的默認值是65536,但是這個值有時候是不夠的,比如我們大數據團隊的生產環境部署的Kafka集群曾經有一次就報出過這個異常,說無法開啟足夠多的線程,直接導致Kafka宕機了。

可以用如下 命令修改:

echo 'vm.max_map_count=655360' >> /etc/sysctl.conf

vm.swappiness

這個參數是用來控制進程的swap行為的,這個簡單來說就是操作系統會把一部分磁盤空間作為swap區域,然后如果有的進程現在可能不是太活躍,就會被操作系統把進程調整為睡眠狀態,把進程中的數據放入磁盤上的swap區域,然后讓這個進程把原來占用的內存空間騰出來,交給其他活躍運行的進程來使用。

如果這個參數的值設置為0,意思就是盡量別把任何一個進程放到磁盤swap區域去,盡量大家都用物理內存。

如果這個參數的值是100,那么意思就是盡量把一些進程給放到磁盤swap區域去,內存騰出來給活躍的進程使用。

默認這個參數的值是60,有點偏高了,可能會導致我們的中間件運行不活躍的時候被迫騰出內存空間然后放磁盤swap區域去。因此通常在生產環境建議把這個參數調整小一些,比如設置為10,盡量用物理內存,別放磁盤swap區域去。

可以用如下命令修改:

echo 'vm.swappiness=10' >> /etc/sysctl.conf

ulimit

這個是用來控制linux上的最大文件連接數的,默認值可能是1024,一般肯定是不夠的,因為你在大量頻繁的讀寫磁盤文件的時候,或者是進行網絡通信的時候,都會跟這個參數有關系

對于一個中間件系統而言肯定是不能使用默認值得,如果你采用默認值,很可能在線上會出現如下錯誤:

error: too many open files

因此通常建議用如下命令修改這個值:

echo 'ulimit -n 1000000' >> /etc/profile

一點小小的總結

中間件系統肯定要開啟大量的線程(跟vm.max_map_count有關)。

而且要進行大量的網絡通信和磁盤IO(跟ulimit有關)。

然后大量的使用內存(跟vm.swappiness和vm.overcommit_memory有關)。

所以對OS內核參數的調整,往往也就是圍繞跟中間件系統運行最相關的一些東西。

關于Java大型中間件系統中須調整的Linux內核參數有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女