MYSQL啟動報錯[Error] mmap(137428992 bytes) failed解決方法

2021-01-10 雷小天博客

這是一個非常的大的坑,差點就被坑懵逼了。因為一開始你不知道這個錯誤從何而來,你無從下手。2018-09-29T03:53:09.373370Z 0 [Error] mmap(137428992 bytes) failed; errno 12這樣一行錯誤,我是從mysql日誌中找到的。先說一下我們部署項目的經過吧,我部署的是一個Spring boot的項目,要部署在一個有java集成環境的伺服器上。我已經在Linux上創建了war文件,當然這其中也是踩過很多坑的。錯誤經歷的過了,你也就一點點在成長,我們報著感恩的心感謝那些bug讓我變得強大。

閒話不多少,為什麼這是一個坑呢,因為這個報錯不是正面報錯,而是側面的報了個這樣的錯誤:Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.最後我還是mysql日誌文件中才找到真的錯誤,是swap內存問題。當初我的目的呢就是把那個生成的war文件部署到正式環境上去,但是當我在啟動mysql(systemctl restart mysqld)的時候呢,伺服器給我報了一個上面的錯誤。

這個錯誤呢,就是告訴你mysql啟動失敗,提示你,分別使用systemctl status mysqld.service和journalctl -xe查看服務啟動失敗的原因。但是這個命令,我查閱了資料,還是不能知道出錯真的原因是什麼。

最後從mysql日誌(/var/log/mysqld.log)找到了問題的所在,有一行這樣的錯誤[Error] mmap(137428992 bytes) failed; errno 12。在這個文件中記錄的所有的日誌,為了方面查詢錯誤,我們可以先刪除,然後重新啟動mysql它又會生成,這樣文件篇幅簡單我們也便於查看。然後free查看內存,你會發現swap為0。

說到這裡,很明顯是swap內存的問題了。既然swap為0那我們就增加swap內存進去,這裡我們添加1G swap為例。

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 #增加1G的SWAP進去$ sudo mkswap /swapfile$ sudo swapon /swapfile$ free total used free shared buffers cachedMem: 608476 601432 7044 0 824 88752-/+ buffers/cache: 511856 96620Swap: 1048572 0 1048572

添加後,再次free查看內存情況,這下我們就能看swap內存。最後重新啟動mysql,mysql就能啟動成功,項目正常運行。

相關焦點

  • 記錄 | 解決連接zookeeper報錯No route to host
    最近在學習微服務,遇到了很多問題,今天又遇到了個連接zookeeper報錯的問題,在此記錄下。Will not attempt to authenticate using SASL (unknown error)2018-10-04 08:32:33.590  WARN 1 --- [168.1.103:2181)] org.apache.zookeeper.ClientCnxn          : Session 0x0 for server null, unexpected error
  • 嗜血邊緣fatal error 嗜血邊緣UE4-moblade報錯解決方法
    《嗜血邊緣》是一款4V4多人在線格鬥遊戲,2月15日公測後存在大量問題,比如標題框帶UE4字樣,內容為「fatal error」的報錯。本期筆者就為大家帶來這個問題的親測有效的解決方法,以下是詳細內容:第一步:這個問題意為致命錯誤,在同為微軟旗下工作室製作、steam發售的pc版《光環》中也有集中出現,出現問題的原因都是遊戲無法正常啟動多人模式,可能是由於本地防火牆設置,也可能是網絡連接不穩定導致。建議先關閉防火牆、殺毒軟體,如果沒有好轉,則使用第二步提供的方法。
  • Mysql常見的13個錯誤碼講解
    5)1236 "impossible position" in Replication通常情況下,這是由於mysql主節點掛掉了並且sync_binlog=OFF,解決方法是在從節點設置 POS=0。當sync_binlog=OFF時,主節點會在把數據先發給從節點,然後寫binlog。
  • MySQL十大經典錯誤案例,你遇到過幾個?
    發生主鍵衝突的報錯。解決方法:在確保主從數據一致性的前提下,可以在從庫進行錯誤跳過。一般使用 percona-toolkit 中的 pt-slave-restart 進行。在從庫完成如下操作[root@zs bin]# .
  • 這 10 個 MySQL 經典錯誤,遇到過才是老司機!
    ; the event's master log mysql-bin.000014, end_log_pos 1708解決辦法:根據報錯信息,我們可以獲取到報錯日誌和position號,然後就能找到主庫執行的哪條sql,導致的主從報錯。
  • BIOS及主板報錯處理
    1 啟動報錯「Hard disk(s) diagnosis fail」在BIOS裡面還能看到硬碟,準備重裝系統的時候,在自檢時出現上面的提示,無法格式化C盤。解決:硬碟診斷失敗,可能是硬碟有問題。在BIOS內能檢測到,說明很可能是硬碟0磁軌出錯,致使引導扇區出錯。
  • 《英雄聯盟手遊》authenticationerror報錯解決方法教程
    導 讀 英雄聯盟手遊authentication error是什麼情況,今天ios上線的時候就提示這個,
  • 沒遇到過這十個MySQL資料庫經典錯誤,你一定不是個好工程師
    經常會遇到各種稀奇古怪的 error 信息,遇到報錯會很慌張,急需一個解決問題的辦法。跟無頭蒼蠅一樣,會不加思索地把錯誤粘到百度上,希望趕緊查找一下有沒有好的問題處理方法。我想上述這個應該是剛從事資料庫的小白都會遇到的窘境。今天就給大家列舉 MySQL 資料庫中最經典的十大錯誤案例,並附有處理問題的解決思路和方法。
  • ubuntu18.04 django 連接 mysql 資料庫方法和常見錯誤總結
    我在運行過程中遇到了許多錯誤,並且找到了比較好的解決方法,分享給大家錯誤1 :django.db.utils.OperationalError: (1698, "Access denied for user 'root'@'localhost'")解決方法:mysql> USE mysql;mysql
  • mysql 矩陣類型專題及常見問題 - CSDN
    大整數值MEDIUMINT3 bytes大整數值INT或INTEGER4 bytes大整數值BIGINT8 bytes極大整數值FLOAT4 bytes單精度 浮點數值DOUBLE8 bytes雙精度 浮點數值DECIMAL對DECIMAL(M,D) ,如果M>D,為M+2否則為D+2小數值字符串類型0-255 bytes定長字符串VARCHAR0-65535 bytes變長字符串TINYBLOB0
  • MySQL 資料庫「十宗罪」(十大經典錯誤案例)
    經常會遇到各種稀奇古怪的 error 信息,遇到報錯會很慌張,急需一個解決問題的辦法。跟無頭蒼蠅一樣,會不加思索地把錯誤粘到百度上,希望趕緊查找一下有沒有好的處理問題的方法。我想這個應該是剛從事資料庫的小白,都會遇到窘境。
  • 關於IDEA報錯Failed to create JVM:error code -1的解決方案
    ,然後將此bin目錄下的兩個文件idea.exe.vmoptions、idea64.exe.vmoptions使用記事本打開後在最後都加一句javaagent:D:Program FilesJetBrainsIntelliJ IDEA 2017.3.2inJetbrainsCrack-2.7.jar,該jar文件就是放入bin目錄下的破解文件,修改完之後雙擊啟動
  • MySQL資料庫「十宗罪」(十大經典錯誤案例)
    解決思路:遇到這樣的報錯信息,我們要學會時時去關注錯誤日誌 error log 裡面的內容。看見了關鍵的報錯點Permission denied。證明當前 MySQL 資料庫的數據目錄沒有權限。解決方法:
  • 溯源反制之MySQL蜜罐研究
    terminated by't'][OPTIONALLY] enclosed by ''][escaped by'\' ]][lines terminated by'n'][ignore number lines][(col_name, )]這個功能默認是關閉的,當我們沒有開啟這個功能時執行LOAD DATA INFILE報錯如下
  • Python讀入文件報錯的處理方法
    文章導讀:本文主要 解決python在讀入文件時的報錯:ParserError:Error tokenizing data.C error:Expected x fields in line nnn,saw y。文章分為兩部分,第一部分解釋報錯的意思,定位原因;第二部分給出解決方法。
  • > DNFFatal Error報錯解決方法 官方已處理該BUG
    DNFFatal Error報錯解決方法 官方已處理該BUG 發布時間:2018-12-04 09:15 來源:官方論壇 作者:DNF小喇叭
  • MySQL中插入datetime時的PHP date()格式
    $conn ) {     die("Connection failed: " . mysqli_connect_error()); }    $sql = "CREATE TABLE date_test (     id INT AUTO_INCREMENT PRIMARY KEY,     created_at
  • 常見BIOS報錯信息及解決方法
    BIOS ROM checksum error-System halted  翻譯:BIOS信息在進行檢查(checksum)時發現錯誤,因此無法開機。  解析:通常是因為BIOS信息刷新不完全所造成的,重新刷新主板BIOS即可。  CMOS battery failed  翻譯:CMOS電池失效。
  • BattlEye 25報錯原因及解決方法
    大家好,我是二狗近期很多玩家都出現BattlEye 25報錯,那到底是什麼原因導致這個報錯又該如何解決呢
  • 英雄聯盟手遊failed to怎麼解決 10087錯誤代碼解決攻略
    英雄聯盟手遊failed to怎麼解決,10087錯誤代碼解決攻。現在不少朋友都在外服玩英雄聯盟手遊,偶爾會出現failed to開頭的錯誤代碼以及10087這種錯誤帶碼。下面看看解決辦法吧。to怎麼解決,10087錯誤代碼解決攻。