簡體   English   中英

Azure 上的 Lucee/Java 的 CPU 使用率為 100%

[英]Lucee/Java on Azure Pegged At 100% CPU Usage

在此處輸入圖片說明 今天的wtf劇集正在進行中......

過去幾天我們一直在遇到的問題。 出於某種原因,Java 被 100% 的 CPU 使用率盯上了。 如果我們禁用 lucee 服務,cpu 使用率會下降到正常水平。 一旦我們啟用它,cpu 使用率會立即飆升至 100%。

完整路徑是

/opt/lucee/jdk/jre/bin/java -Djava.util.logging.config.file=/opt/lucee/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

我們運行 Lucee 的其他服務器顯示此過程通常具有大約 1-3% 的 CPU 使用率。

  1. 我們已經多次重新啟動 Ubuntu 無濟於事。
  2. 我們已經禁用了所有端口,以防出現一些奇怪的流量導致問題,再次無濟於事。
  3. 我們已經驗證沒有正在運行的 lucee 腳本任務。
  4. 我們確實有一個與 Microsoft 一起運行的單獨 SQL 服務實例,它沒有顯示任何奇怪的數據庫使用情況。 我們還有大約 5 台其他服務器可以訪問同一個數據庫並且沒有遇到此問題。
  5. 我已經將 Lucee 從 5.3.4.80 降級到 5.2.9.3,再次沒有運氣

服務器的其他信息

OS      Linux (4.4.0-174-generic) 64bit
Servlet Container   Apache Tomcat/8.5.6
Java    1.8.0_112 (Oracle Corporation) 64bit

這最初發生在我們大約兩周前。 我們於 2 月 24 日星期一進來,到美國中部時間上午 9 點左右,我們的一台服務器開始遇到此問題。 我們設置了一個單獨的 Azure VM 並復制了我們所有的文件,然后一切正常並運行良好。 現在,兩周后另外兩台服務器開始出現同樣的問題。

感謝你們提供的任何幫助。

我在運行 Ubuntu 和 Java 8_181 的 AWS 服務器上遇到了同樣的問題。 它在半夜突然開始。 Top 顯示 2 個 CPU 滿載,就像你的一樣。 重新啟動 Lucee/Tomcat 並重新啟動沒有任何效果。

Fusionreactor 指出了 Thread Visiualizer 顯示兩個旋轉任務的計划任務的問題,堆棧跟蹤類似於以下內容。

我殺死了這些線程,旋轉停止了。 然后我可以看到我的兩個計划任務在 Lucee 管理員中標記為粉紅色永久停止。 重新啟用這些進程並重新啟動 Lucee 將問題帶回來,所以我一次又一次地殺死它們,Lucee Administrator 中的任務變成粉紅色。 他們也沒有按正常時間表運行。 其他計划任務仍然運行正常,幾個小時后一切仍然正常。

然后我刪除並重新創建了兩個似乎是問題的計划任務,然后重新啟動了 Lucee。 兩項任務如期進行。 因此,我得出結論,這兩個任務的計時信息不知何故已損壞,當 Lucee 試圖計算下一次運行時間時,這導致了自旋。 Luce 源代碼圍繞它似乎旋轉的點有一個“while(1)”循環,它似乎在增加一個日期變量——我懷疑這就是問題所在。

總之,拍攝計划任務並重新創建,您可能有一個解決方法。

java.util.SimpleTimeZone.getOffsets(SimpleTimeZone.java:551) - 鎖定 <0x5d7f0b89>(一個 java.util.SimpleTimeZone) java.util.SimpleTimeZone.getOffset(SimpleTimeZone.java:540) sun.util.calendar.ZoneInfo.getOffsets (ZoneInfo.java:293) sun.util.calendar.ZoneInfo.getOffsets(ZoneInfo.java:236) java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2340) java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2312) ) java.util.Calendar.setTimeInMillis(Calendar.java:1804) java.util.GregorianCalendar.add(GregorianCalendar.java:1076) lucee.runtime.schedule.ScheduledTaskThread.calculateNextExecution(ScheduledTaskThread.java:219) lucee.runtime.schedule .ScheduledTaskThread._run(ScheduledTaskThread.java:121) lucee.runtime.schedule.ScheduledTaskThread.run(ScheduledTaskThread.java:87)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM