亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java服務(wù)自動(dòng)停止原因查找方式

 更新時(shí)間:2023年12月02日 08:59:24   作者:---清心寡欲---  
這篇文章主要介紹了java服務(wù)自動(dòng)停止原因查找方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

現(xiàn)象

最近發(fā)現(xiàn)服務(wù)java啟動(dòng)了幾天就自己停了,然后查看了,是內(nèi)存不足造成的。

1.查看是否是由于內(nèi)存不足造成的

命令:

cd /var/log
cat messages* |grep java

發(fā)現(xiàn)有:Out of memory: Kill process 58235 (java) score 231 or sacrifice child

由于內(nèi)存不足,系統(tǒng)自動(dòng)kill了java的進(jìn)程

2.查看內(nèi)存使用功能情況,確實(shí)所剩不多了

free -h

以下是解決方案

之前買了個(gè)云服務(wù)器玩,不過是最低配置的1核1G,后來(lái)發(fā)現(xiàn)這個(gè)內(nèi)存太小了,隨便裝幾個(gè)軟件就不行了,內(nèi)存消耗較大的像 redis 運(yùn)行起來(lái)很多問題。

這些時(shí)間了解了下 docker 容器,去嘗試了下發(fā)現(xiàn) mysql 就掛了,而且怎么樣也啟動(dòng)不了了,后來(lái)發(fā)現(xiàn)是內(nèi)存實(shí)在是不夠了

后來(lái)網(wǎng)上了解,如果服務(wù)器的總是報(bào)告內(nèi)存不足,并且時(shí)常因?yàn)閮?nèi)存不足而引發(fā)服務(wù)被強(qiáng)制kill的話,在不增加物理內(nèi)存的情況下,啟用swap交換區(qū)作為虛擬內(nèi)存是一個(gè)不錯(cuò)的選擇。當(dāng)然這個(gè)選擇是在你對(duì)訪問速度和緩存那些沒什么要求的情況下,比如你自己測(cè)試玩的

虛擬內(nèi)存一般設(shè)置為物理內(nèi)存的2倍即可

新增swap分區(qū)

這里使用文件作為swap分區(qū) ,下面操作需要在root用戶下操作

使用 free -h 查看當(dāng)前內(nèi)存占用情況,可以看到物理內(nèi)存所剩無(wú)幾,下面的swap也是使用的文件作為虛擬內(nèi)存使用的

91e2a2b6de8711fead14d752f42c4312.png

創(chuàng)建要作為swap分區(qū)的文件:增加1GB大小的交換分區(qū),則命令寫法如下,其中的count等于想要的塊的數(shù)量(bs*count=文件大小),如下面是2G

# dd if=/dev/zero of=/root/swapfile2 bs=1M count=2048

這里我使用的of為/root/swapfile2 ,可以看到該文件是新創(chuàng)建的,這時(shí)候這個(gè)文件還不能直接使用為swap文件

修改文件權(quán)限,如不修改,在啟用swap文件的時(shí)候會(huì)提示下面信息(不影響使用,建議修改)

# chmod 0600 /root/swapfile2

格式化為交換分區(qū)文件,建立swap的文件系統(tǒng),/root/swapfile2需要與上面的of的值一致,這個(gè)目錄可以自定義

# mkswap /root/swapfile2

啟用swap文件:

# swapon /root/swapfile2

可以看到未啟用時(shí)虛擬內(nèi)存為2G,啟用后內(nèi)存增加了2G

使系統(tǒng)開機(jī)時(shí)自啟用

# vim /etc/fstab

在文件/etc/fstab中添加一行

/root/swapfile2 swap swap defaults 0 0

調(diào)整swap空間使用的優(yōu)先級(jí)

如果內(nèi)存夠大,應(yīng)當(dāng)告訴 linux 不必太多的使用 SWAP 分區(qū), 可以通過修改 swappiness 的數(shù)值。

swappiness=0 的時(shí)候表示最大限度使用物理內(nèi)存,然后才是 swap空間,swappiness=100的時(shí)候表示積極的使用swap分區(qū),并且把內(nèi)存上的數(shù)據(jù)及時(shí)的搬運(yùn)到swap空間里面。

各個(gè)操作系統(tǒng)的優(yōu)先級(jí)可能都不一樣,如果不調(diào)整,你會(huì)發(fā)現(xiàn)添加的虛擬內(nèi)存幾乎沒有用到

查看當(dāng)前swappiness值

# cat /proc/sys/vm/swappiness

修改swappiness值為60(臨時(shí)修改,重啟后即還原為默認(rèn)值)

# sudo sysctl vm.swappiness=60

永久修改swappiness默認(rèn)值(重啟生效)

# vim /etc/sysctl.conf

找到vm.swappiness ,如果沒有則需要手動(dòng)添加一行 vm.swappiness = 60 保存即可

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Netty分布式ByteBuf使用page級(jí)別的內(nèi)存分配解析

    Netty分布式ByteBuf使用page級(jí)別的內(nèi)存分配解析

    這篇文章主要介紹了Netty分布式ByteBuf使用page級(jí)別的內(nèi)存分配解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • Java多態(tài)到底都有啥好處

    Java多態(tài)到底都有啥好處

    Java中的多態(tài)性有兩種類型:編譯時(shí)多態(tài)(靜態(tài)綁定)和運(yùn)行時(shí)多態(tài)(動(dòng)態(tài)綁定)。方法重載是靜態(tài)多態(tài)的一個(gè)例子,而方法重寫是動(dòng)態(tài)多態(tài)的一個(gè)例子,接下來(lái)通過本文給大家分享Java多態(tài)到底教了我干啥?有啥好處,一起了解下吧
    2021-05-05
  • 利用Spring Cloud Config結(jié)合Bus實(shí)現(xiàn)分布式配置中心的步驟

    利用Spring Cloud Config結(jié)合Bus實(shí)現(xiàn)分布式配置中心的步驟

    這篇文章主要介紹了利用Spring Cloud Config結(jié)合Bus實(shí)現(xiàn)分布式配置中心的相關(guān)資料,文中通過示例代碼將實(shí)現(xiàn)的步驟一步步介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來(lái)一起看看吧
    2018-05-05
  • MyBatis如何使用(三)

    MyBatis如何使用(三)

    這篇文章主要介紹了MyBatis如何使用(三)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • Springboot利于第三方服務(wù)進(jìn)行ip定位獲取省份城市

    Springboot利于第三方服務(wù)進(jìn)行ip定位獲取省份城市

    本文主要介紹了Springboot利于第三方服務(wù)進(jìn)行ip定位獲取省份城市,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Java?Stream?API?使代碼更出色的操作完全攻略

    Java?Stream?API?使代碼更出色的操作完全攻略

    這篇文章主要介紹了Java?Stream?API?使代碼更出色的操作完全攻略,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Java中的synchronized重量級(jí)鎖解析

    Java中的synchronized重量級(jí)鎖解析

    這篇文章主要介紹了Java中的synchronized重量級(jí)鎖解析,內(nèi)核需要去申請(qǐng)這個(gè)互斥量,必須要進(jìn)入內(nèi)核態(tài),也就是這里需要用戶態(tài),內(nèi)核態(tài)的切換,狀態(tài)的切換,開銷是比較大的,這就是重型鎖的一個(gè)弊端,需要的朋友可以參考下
    2024-01-01
  • jackson 如何將實(shí)體轉(zhuǎn)json json字符串轉(zhuǎn)實(shí)體

    jackson 如何將實(shí)體轉(zhuǎn)json json字符串轉(zhuǎn)實(shí)體

    這篇文章主要介紹了jackson 實(shí)現(xiàn)將實(shí)體轉(zhuǎn)json json字符串轉(zhuǎn)實(shí)體,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java 為什么要避免使用finalizer和Cleaner

    Java 為什么要避免使用finalizer和Cleaner

    這篇文章主要介紹了Java 為什么要避免使用finalizer和Cleaner,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • mybatis?實(shí)現(xiàn)多層級(jí)collection嵌套

    mybatis?實(shí)現(xiàn)多層級(jí)collection嵌套

    這篇文章主要介紹了mybatis?實(shí)現(xiàn)多層級(jí)collection嵌套,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評(píng)論