{"id":126012,"date":"2019-10-23T10:58:06","date_gmt":"2019-10-23T01:58:06","guid":{"rendered":"https:\/\/backlog.com\/ja\/?p=26012"},"modified":"2024-08-06T14:25:36","modified_gmt":"2024-08-06T05:25:36","slug":"java-virtual-machine-system-performance-survey","status":"publish","type":"post","link":"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/","title":{"rendered":"JVM\u4e0a\u3067\u52d5\u304fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u98df\u3044\u3064\u3076\u3059\u539f\u56e0\u3092\u63a2\u308b\u305f\u3081\u306b\u3084\u3063\u305f\u3053\u3068\u3010Backlog Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3011"},"content":{"rendered":"<p>\u30cc\u30fc\u30e9\u30dc\u3067Scala\u3092\u66f8\u304fRubyist\u306e\u8c37\u672c\u3067\u3059\u3002\u30cc\u30fc\u30e9\u30dc\u3067\u306f\u3001Backlog\u306e\u958b\u767a\u3092\u62c5\u5f53\u3057\u3066\u304a\u308a\u3001\u6700\u8fd1\u3067\u306f<a href=\"https:\/\/backlog.com\/ja\/blog\/the-story-of-large-scale-replacement-with-play-framework-over-4-years\/\" target=\"_blank\" rel=\"noopener\">Backlog\u3092Java\u304b\u3089Scala \/ Play Framework\u306b\u79fb\u884c\u3059\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8<\/a>\u306e\u30e1\u30f3\u30d0\u30fc\u3067\u3057\u305f\u3002<\/p>\n<p>Backlog\u306ePlay\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3001OutOfMemorryError(\u4ee5\u4e0b\u3001OOM)\u306e\u767a\u751f\u3084CPU\u4f7f\u7528\u7387\u3068\u30ed\u30fc\u30c9\u30a2\u30d9\u30ec\u30fc\u30b8\u304c\u4e0a\u304c\u3063\u305f\u307e\u307e\u3068\u3044\u3046\u3001<strong>Java Virtual Machine\uff08\u4ee5\u4e0b\u3001JVM\uff09\u4e0a\u3067\u52d5\u304fBacklog\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u95a2\u3059\u308b\u554f\u984c<\/strong>\u306b\u5bfe\u51e6\u3059\u3079\u304f\u3001\u4f55\u5ea6\u304bHeap\/Thread dump\u3092\u898b\u308b\u6a5f\u4f1a\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u79c1\u304cPlay\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u53d6\u308a\u7d44\u3093\u3060\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584\u306e\u77e5\u898b\u3084\u7d4c\u9a13\u3092\u3082\u3068\u306b\u3001\u672c\u8a18\u4e8b\u3067\u306f\u300c<strong>JVM\u3067\u8d77\u3053\u3063\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u306e\u5207\u308a\u5206\u3051\u65b9<\/strong>\u300d\u306b\u3064\u3044\u3066\u304a\u5c4a\u3051\u3057\u307e\u3059\u3002<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_67_1 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >\u76ee\u6b21<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB\" title=\"\u306f\u3058\u3081\u306b\">\u306f\u3058\u3081\u306b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#OOM%E3%81%AE%E5%8E%9F%E5%9B%A0%E3%82%92%E6%8E%A2%E3%82%8B\" title=\"OOM\u306e\u539f\u56e0\u3092\u63a2\u308b\">OOM\u306e\u539f\u56e0\u3092\u63a2\u308b<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B91_%E3%81%AA%E3%81%9C%E3%80%81OOM%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%9F%E3%81%AE%E3%81%8B\" title=\"\u6ce8\u76ee\u3059\u308b\u70b91. \u306a\u305c\u3001OOM\u304c\u767a\u751f\u3057\u305f\u306e\u304b\">\u6ce8\u76ee\u3059\u308b\u70b91. \u306a\u305c\u3001OOM\u304c\u767a\u751f\u3057\u305f\u306e\u304b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B92_%E3%81%AA%E3%81%AB%E3%81%8CHeap%E9%A0%98%E5%9F%9F%E3%82%92%E5%9C%A7%E8%BF%AB%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B\" title=\"\u6ce8\u76ee\u3059\u308b\u70b92. \u306a\u306b\u304cHeap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u308b\u304b\">\u6ce8\u76ee\u3059\u308b\u70b92. \u306a\u306b\u304cHeap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u308b\u304b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B93_%E3%81%AA%E3%81%9C%E5%9C%A7%E8%BF%AB%E3%81%99%E3%82%8B%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%9F%E3%81%8B\" title=\"\u6ce8\u76ee\u3059\u308b\u70b93. \u306a\u305c\u5727\u8feb\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3067\u304d\u305f\u304b\">\u6ce8\u76ee\u3059\u308b\u70b93. \u306a\u305c\u5727\u8feb\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3067\u304d\u305f\u304b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E5%AE%9F%E9%9A%9B%E3%81%ABOOM%E3%82%92%E7%99%BA%E7%94%9F%E3%81%95%E3%81%9B%E3%81%A6Heap_dump%E3%82%92%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%8B\" title=\"\u5b9f\u969b\u306bOOM\u3092\u767a\u751f\u3055\u305b\u3066Heap dump\u3092\u898b\u3066\u307f\u308b\">\u5b9f\u969b\u306bOOM\u3092\u767a\u751f\u3055\u305b\u3066Heap dump\u3092\u898b\u3066\u307f\u308b<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#CPU%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%AE%E4%B8%8A%E6%98%87%E3%81%AE%E5%8E%9F%E5%9B%A0%E3%82%92%E6%8E%A2%E3%82%8B\" title=\"CPU\u4f7f\u7528\u7387\u306e\u4e0a\u6607\u306e\u539f\u56e0\u3092\u63a2\u308b\">CPU\u4f7f\u7528\u7387\u306e\u4e0a\u6607\u306e\u539f\u56e0\u3092\u63a2\u308b<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B91_JVM%E8%87%AA%E8%BA%AB%E3%81%AE%E5%87%A6%E7%90%86%E3%81%AA%E3%81%AE%E3%81%8B%E8%87%AA%E5%88%86%E3%81%9F%E3%81%A1%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%AE%9F%E8%A1%8C%E3%81%AA%E3%81%AE%E3%81%8B\" title=\"\u6ce8\u76ee\u3059\u308b\u70b91. JVM\u81ea\u8eab\u306e\u51e6\u7406\u306a\u306e\u304b\u81ea\u5206\u305f\u3061\u306e\u30b3\u30fc\u30c9\u306e\u5b9f\u884c\u306a\u306e\u304b\">\u6ce8\u76ee\u3059\u308b\u70b91. JVM\u81ea\u8eab\u306e\u51e6\u7406\u306a\u306e\u304b\u81ea\u5206\u305f\u3061\u306e\u30b3\u30fc\u30c9\u306e\u5b9f\u884c\u306a\u306e\u304b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B92_%E4%BD%95%E3%81%AE%E5%87%A6%E7%90%86%E3%82%92%E5%AE%9F%E8%A1%8C%E4%B8%AD%E3%81%ABCPU%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%8C%E9%AB%98%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B\" title=\"\u6ce8\u76ee\u3059\u308b\u70b92. \u4f55\u306e\u51e6\u7406\u3092\u5b9f\u884c\u4e2d\u306bCPU\u4f7f\u7528\u7387\u304c\u9ad8\u304b\u3063\u305f\u306e\u304b\">\u6ce8\u76ee\u3059\u308b\u70b92. \u4f55\u306e\u51e6\u7406\u3092\u5b9f\u884c\u4e2d\u306bCPU\u4f7f\u7528\u7387\u304c\u9ad8\u304b\u3063\u305f\u306e\u304b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B93_%E5%87%A6%E7%90%86%E3%81%AE%E5%85%B7%E4%BD%93%E7%9A%84%E3%81%AA%E5%86%85%E5%AE%B9%E3%81%AF%E4%BD%95%E3%81%A0%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B\" title=\"\u6ce8\u76ee\u3059\u308b\u70b93. \u51e6\u7406\u306e\u5177\u4f53\u7684\u306a\u5185\u5bb9\u306f\u4f55\u3060\u3063\u305f\u306e\u304b\">\u6ce8\u76ee\u3059\u308b\u70b93. \u51e6\u7406\u306e\u5177\u4f53\u7684\u306a\u5185\u5bb9\u306f\u4f55\u3060\u3063\u305f\u306e\u304b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E5%AE%9F%E9%9A%9B%E3%81%ABCPU%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%AE%E4%B8%8A%E6%98%87%E3%81%8C%E7%B6%9A%E3%81%8F%E7%8A%B6%E6%85%8B%E3%81%AB%E3%81%97%E3%81%A6%E5%8E%9F%E5%9B%A0%E3%82%92%E8%BF%BD%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B\" title=\"\u5b9f\u969b\u306bCPU\u4f7f\u7528\u7387\u306e\u4e0a\u6607\u304c\u7d9a\u304f\u72b6\u614b\u306b\u3057\u3066\u539f\u56e0\u3092\u8ffd\u3063\u3066\u307f\u308b\">\u5b9f\u969b\u306bCPU\u4f7f\u7528\u7387\u306e\u4e0a\u6607\u304c\u7d9a\u304f\u72b6\u614b\u306b\u3057\u3066\u539f\u56e0\u3092\u8ffd\u3063\u3066\u307f\u308b<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#%E3%81%BE%E3%81%A8%E3%82%81\" title=\"\u307e\u3068\u3081\">\u307e\u3068\u3081<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB\"><\/span>\u306f\u3058\u3081\u306b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u672c\u756a\u74b0\u5883\u3067\u3057\u3070\u3089\u304f\u52d5\u304b\u3057\u3066\u3044\u308b\u3068\u3001\u30b3\u30fc\u30c9\u81ea\u4f53\u306f\u6b63\u3057\u304f\u5b9f\u884c\u3067\u304d\u308b\u3051\u3069\u3001\u3042\u308b\u7279\u5fb4\u3092\u6301\u3063\u305f\u30c7\u30fc\u30bf\u3068\u5b9f\u88c5\u65b9\u6cd5\u304c\u30de\u30c3\u30c1\u305b\u305aOutOfMemorryError(\u4ee5\u4e0b\u3001OOM)\u304c\u767a\u751f\u3057\u305f\u308a\u3001CPU\u4f7f\u7528\u7387\u3068\u30ed\u30fc\u30c9\u30a2\u30d9\u30ec\u30fc\u30b8\u304c\u4e0a\u304c\u3063\u305f\u307e\u307e\u306b\u306a\u3063\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>Backlog\u306ePlay\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3001\u305d\u3046\u3044\u3063\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u306e\u539f\u56e0\u8abf\u67fb\u306e\u305f\u3081\u306b\u4f55\u5ea6\u304bHeap\/Thread dump\u3092\u898b\u308b\u6a5f\u4f1a\u304c\u3042\u308a\u3001\u305d\u306e\u90fd\u5ea6\u3001\u3069\u3046\u3059\u308c\u3070\u5207\u308a\u5206\u3051\u308c\u308b\u304b\u8003\u3048\u305f\u308a\u52c9\u5f37\u3057\u305f\u308a\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u6570\u5e74\u524d\u306bJVM\u306e\u4ed5\u4e8b\u3092\u306f\u3058\u3081\u305f\u3068\u304d\u3084\u3001Backlog\u306e\u958b\u767a\u306b\u643a\u308f\u308a\u59cb\u3081\u305f\u3068\u304d\u3092\u632f\u308a\u8fd4\u3063\u3066\u307f\u308b\u3068\u3001\u3053\u3046\u3057\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u306e\u5207\u308a\u5206\u3051\u65b9\u3092\u77e5\u3063\u3066\u3044\u308c\u3070\u3001\u3082\u3063\u3068\u7d20\u65e9\u304f\u89e3\u6c7a\u3067\u304d\u305f\u3060\u308d\u3046\u3068\u611f\u3058\u307e\u3059\u3002<\/p>\n<p>\u305d\u3053\u3067\u3001\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u6570\u5e74\u524d\u306e\u81ea\u5206\u306e\u3088\u3046\u306b<b>\u300cGC\u3084Heap\u9818\u57df\u306e\u540d\u524d\u3084\u5f79\u5272\u306f\u306a\u3093\u3068\u306a\u304f\u77e5\u3063\u3066\u3044\u308b\u3051\u3069\u3001Heap\/Thread dump\u3067\u60c5\u5831\u304c\u305f\u304f\u3055\u3093\u51fa\u3066\u304d\u3066\u3001\u4f55\u306b\u6ce8\u76ee\u3059\u308c\u3070\u554f\u984c\u306e\u89e3\u6c7a\u306b\u3064\u306a\u304c\u308b\u306e\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u300d\u3068\u611f\u3058\u3066\u3044\u308b\u4eba\u306b\u5411\u3051\u3066\u3001\u3069\u3046\u3044\u3063\u305f\u3053\u3068\u306b\u6ce8\u76ee\u3057\u3066\u8abf\u67fb\u3057\u305f\u306e\u304b\u306b\u3064\u3044\u3066\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/b><\/p>\n<p>OOM\u767a\u751f\u6642\u3068CPU\u4f7f\u7528\u7387\u306e\u4e0a\u6607\u6642\u306e\u305d\u308c\u305e\u308c\u3067\u3001\u3044\u304f\u3064\u304b\u306e\u6ce8\u76ee\u3059\u308b\u70b9\u3068\u7c21\u5358\u306a\u518d\u73fe\u30b3\u30fc\u30c9\u3092\u4f7f\u3063\u305f\u554f\u984c\u306e\u5207\u308a\u5206\u3051\u4f8b\u304c\u3042\u308a\u307e\u3059\u306e\u3067\u3001\u304a\u597d\u304d\u306a\u3068\u3053\u308d\u304b\u3089\u304a\u8aad\u307f\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2><span class=\"ez-toc-section\" id=\"OOM%E3%81%AE%E5%8E%9F%E5%9B%A0%E3%82%92%E6%8E%A2%E3%82%8B\"><\/span>OOM\u306e\u539f\u56e0\u3092\u63a2\u308b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>OOM\u304c\u8d77\u304d\u308b\u539f\u56e0\u306f\u3001<a href=\"https:\/\/docs.oracle.com\/javase\/jp\/8\/docs\/technotes\/guides\/troubleshoot\/memleaks002.html\" target=\"_blank\" rel=\"noopener\">Oracle\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\u306b\u3042\u308b\u3088\u3046\u306b\u8272\u3005\u306a\u539f\u56e0\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u304a\u305d\u3089\u304f\u3001\u8d77\u52d5\u5f8c\u3057\u3070\u3089\u304f\u5b89\u5b9a\u3057\u3066\u52d5\u3044\u3066\u3044\u308b\u72b6\u614b\u3067\u3042\u308c\u3070\u3001\u30af\u30e9\u30b9\u30e1\u30bf\u30c7\u30fc\u30bf\u304c\u8aad\u307f\u8fbc\u307f\u7d42\u308f\u3063\u3066\u304a\u308a\u3001Metaspace\u7531\u6765\u306a\u3069\u306eOOM\u306f\u8d77\u304d\u3065\u3089\u304f\u3001OOM\u306e\u539f\u56e0\u306fHeap\u9818\u57df\u7531\u6765\u306e\u3082\u306e\u304c\u591a\u3044\u3067\u3057\u3087\u3046\u3002 Backlog\u3067\u8d77\u3053\u308bOOM\u3082\u3001\u5927\u534a\u304cHeap\u7531\u6765\u306e<a href=\"https:\/\/docs.oracle.com\/javase\/jp\/8\/docs\/technotes\/guides\/troubleshoot\/memleaks002.html#sthref40\" target=\"_blank\" rel=\"noopener\">GC Overhead limit exceeded<\/a>\u3067\u3057\u305f\u3002<\/p>\n<p>\u305d\u3053\u3067\u3001\u4eca\u56de\u306fGC Overhead limit exceeded\u306b\u7d5e\u3063\u3066\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n<p>\u306a\u304a\u3001OOM\u767a\u751f\u6642\u306bHeap dump\u304c\u51fa\u529b\u3055\u308c\u308b\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u8a2d\u5b9a\u3092\u3057\u3066\u304a\u304d\u307e\u3057\u3087\u3046\u3002\u3053\u308c\u304c\u306a\u3044\u3068OOM\u304c\u8d77\u3053\u3063\u3066\u3082Heap dump\u304c\u306a\u304f\u5207\u308a\u5206\u3051\u304c\u9032\u307f\u307e\u305b\u3093\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=\/your\/dumping\/path<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B91_%E3%81%AA%E3%81%9C%E3%80%81OOM%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%9F%E3%81%AE%E3%81%8B\"><\/span>\u6ce8\u76ee\u3059\u308b\u70b91. \u306a\u305c\u3001OOM\u304c\u767a\u751f\u3057\u305f\u306e\u304b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u307e\u305a\u3001\u30a8\u30e9\u30fc\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u624b\u304c\u304b\u308a\u306b\u3001\u3069\u3046\u3044\u3046\u3053\u3068\u304c\u8d77\u3053\u3063\u305f\u304b\u3089OOM\u304c\u767a\u751f\u3057\u305f\u306e\u304b\u3092\u8003\u3048\u307e\u3059\u3002<\/p>\n<p>GC Overhead limit exceeded\u306f\u3001Full GC\u3092\u4f55\u56de\u3082\u3057\u3066\u6383\u9664\u3057\u3066\u3044\u308b\u3051\u3069\u7a7a\u304d\u9818\u57df\u304c\u307b\u307c\u78ba\u4fdd\u3067\u304d\u306a\u3044\u72b6\u614b\u304c\u7d9a\u3044\u3066\u3044\u308b\u3053\u3068\u3092\u8868\u3059\u30a8\u30e9\u30fc\u3067\u3059\u3002\u3064\u307e\u308a\u3001\u201c\u51e6\u7406\u3092\u9032\u3081\u308b\u305f\u3081\u306b\u306fHeap\u9818\u57df\u304c\u8db3\u308a\u306a\u3044\u72b6\u614b\u3060\u304c\u3001\u53c2\u7167\u304c\u6b8b\u3063\u3066\u3044\u3066Heap\u9818\u57df\u304cFull GC\u3067\u3082\u307b\u307c\u7a7a\u304b\u306a\u3044\u72b6\u614b\u201d\u3060\u3068\u8a00\u3048\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u3053\u306e\u305f\u3081\u3001\u53c2\u7167\u304c\u6b8b\u3063\u3066\u3044\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304cHeap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u308b\u7406\u7531\u3092\u63a2\u305b\u3070\u89e3\u6c7a\u3067\u304d\u305d\u3046\u3060\u3068\u4e88\u60f3\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B92_%E3%81%AA%E3%81%AB%E3%81%8CHeap%E9%A0%98%E5%9F%9F%E3%82%92%E5%9C%A7%E8%BF%AB%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B\"><\/span>\u6ce8\u76ee\u3059\u308b\u70b92. \u306a\u306b\u304cHeap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u308b\u304b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Heap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8abf\u3079\u305f\u3044\u306e\u3067\u3001VisualVM\u3084<a href=\"https:\/\/www.eclipse.org\/mat\/\" target=\"_blank\" rel=\"noopener\">Eclipse Memory Analyzer(MAT)<\/a>\u306a\u3069\u306e\u30c4\u30fc\u30eb\u3092\u4f7f\u3044Heap dump\u306e\u4e2d\u8eab\u3092\u307f\u3066\u3001Heap\u4e0a\u3067\u30b5\u30a4\u30ba\u304c\u5927\u304d\u306a\u3082\u306e\u3092\u63a2\u3057\u307e\u3059\u3002<\/p>\n<p>\u305f\u3060\u3057\u3001Heap\u4e0a\u3067\u306e\u30b5\u30a4\u30ba\u3068\u3044\u3046\u306e\u306f\u5c11\u3057\u5384\u4ecb\u3067\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u53c2\u7167\u3057\u3066\u3044\u308b\u4ed6\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u307e\u3067\u542b\u3081\u305f\u30b5\u30a4\u30ba\u3092\u898b\u306a\u3044\u3068\u3001\u305d\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304cGC\u3055\u308c\u305f\u3068\u304d\u306e\u30b5\u30a4\u30ba\u304c\u4e88\u60f3\u3057\u3065\u3089\u304f\u306a\u308a\u307e\u3059\u3002\u4f8b\u3048\u3070\u3001Java\u306eHashMap\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u81ea\u4f53\u306f48B\u3068\u5c0f\u3055\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3059\u3002\u3057\u304b\u3057\u3001\u305d\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u53c2\u7167\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u6570MB\u3042\u308a\u3001\u305d\u306e\u53c2\u7167\u3055\u308c\u3066\u3044\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u4ed6\u304b\u3089\u53c2\u7167\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001\u3053\u306eHashMap\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304cGC\u3055\u308c\u308b\u3068\u6570MB\u306e\u7a7a\u304d\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>MAT\u306eHistgram\u306b\u306f\u3001\u53c2\u7167\u5148\u307e\u3067\u542b\u3081\u305f\u30b5\u30a4\u30ba\u3092\u8868\u793a\u3059\u308bRetained Heap\u3068\u3044\u3046\u9805\u76ee\u304c\u3042\u308a\u307e\u3059\u3002Retained Heap\u304c\u5927\u304d\u3044\u9806\u3084\u3001\u4e26\u3079\u305f\u3068\u304d\u898b\u899a\u3048\u306e\u3042\u308b\u30af\u30e9\u30b9\u540d\u9806\u306b\u898b\u3066\u3044\u304f\u3068\u3001\u53c2\u7167\u5148\u304c\u5927\u304d\u304b\u3063\u305f\u308a\u5927\u91cf\u306b\u3042\u3063\u305f\u308a\u3059\u308b\u3088\u3046\u306a\u3001Heap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u305d\u3046\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-126040\" src=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/mat-retained-heap.png\" alt=\"\" width=\"1132\" height=\"195\" srcset=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/mat-retained-heap.png 1132w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/mat-retained-heap-300x52.png 300w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/mat-retained-heap-768x132.png 768w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/mat-retained-heap-1024x176.png 1024w\" sizes=\"(max-width: 1132px) 100vw, 1132px\" \/><\/p>\n<p>VisualVM\u3082\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30bf\u30d6\u306e\u4e2d\u306b\u3042\u308b\u300c\u4fdd\u6301\u3055\u308c\u305f\u5927\u304d\u3055\u3092\u8a08\u7b97\u300d\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u540c\u69d8\u306e\u60c5\u5831\u304c\u8868\u793a\u3067\u304d\u307e\u3059\u3002\u3061\u306a\u307f\u306b\u3001\u4e21\u65b9\u3068\u3082\u30c4\u30fc\u30eb\u81ea\u4f53\u306b\u30e1\u30e2\u30ea\u3092\u5341\u5206\u306b\u4e0e\u3048\u3066\u3044\u306a\u3044\u3068\u8868\u793a\u3067\u304d\u306a\u3044\u306e\u3067\u6c17\u3092\u4ed8\u3051\u307e\u3057\u3087\u3046\u3002<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-126044\" src=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/jvisual-calc.png\" alt=\"\" width=\"1499\" height=\"233\" srcset=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/jvisual-calc.png 1499w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/jvisual-calc-300x47.png 300w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/jvisual-calc-768x119.png 768w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/jvisual-calc-1024x159.png 1024w\" sizes=\"(max-width: 1499px) 100vw, 1499px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B93_%E3%81%AA%E3%81%9C%E5%9C%A7%E8%BF%AB%E3%81%99%E3%82%8B%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%9F%E3%81%8B\"><\/span>\u6ce8\u76ee\u3059\u308b\u70b93. \u306a\u305c\u5727\u8feb\u3059\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3067\u304d\u305f\u304b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Heap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u305d\u3046\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u898b\u3064\u304b\u3063\u305f\u3089\u3001\u305d\u308c\u304c\u306a\u305c\u3067\u304d\u305f\u304b\u3092\u8003\u3048\u307e\u3059\u3002\u306a\u305c\u3092\u77e5\u308b\u305f\u3081\u306b\u306f\u3001\u305d\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u3069\u3046\u3044\u3046\u5f79\u5272\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306a\u306e\u304b\u7406\u89e3\u3057\u3066\u4eee\u8aac\u3092\u305f\u3066\u307e\u3059\u3002<\/p>\n<p>\u4f8b\u3048\u3070\u3001\u30ea\u30b9\u30c8\u69cb\u9020\u3092\u8868\u3059\u3088\u3046\u306a\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u5834\u5408\u306f\u3069\u3046\u3044\u3046\u5f79\u5272\u3067\u4f7f\u308f\u308c\u3066\u3044\u3066\u3001\u3069\u3046\u3044\u3046\u3068\u304d\u306b\u8981\u7d20\u304c\u8ffd\u52a0\u3055\u308c\u308b\u306e\u304b\u3068\u304b\u3001Thread\u3092\u8868\u3059\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u306e\u5834\u5408\u306f\u3001\u4ed6\u306e\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u306e\u4e2d\u8eab\u3084\u30b9\u30ec\u30c3\u30c9\u540d\u304b\u3089\u4f55\u306e\u51e6\u7406\u3092\u3084\u3063\u3066\u3044\u308b\u30b9\u30ec\u30c3\u30c9\u306a\u306e\u304b\u3068\u3044\u3046\u306e\u3092\u7406\u89e3\u3057\u3001\u3069\u3046\u3044\u3046\u3068\u304d\u306b\u305d\u306e\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u306f\u5927\u304d\u306a\u3082\u306e\u306b\u306a\u308b\u306e\u304b\u306a\u3069\u3067\u3059\u3002<\/p>\n<p>\u305d\u3057\u3066\u3001\u3082\u3057\u305d\u306e\u4eee\u8aac\u304c\u6210\u308a\u7acb\u3064\u306a\u3089\u4ed6\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3084\u30de\u30b7\u30f3\u30ea\u30bd\u30fc\u30b9\u306b\u3069\u3046\u3044\u3046\u5f71\u97ff\u304c\u3042\u308b\u3092\u8003\u3048\u3001\u305d\u306e\u901a\u308a\u306b\u306a\u3063\u3066\u3044\u305f\u306e\u304b\u8abf\u3079\u3001\u77db\u76fe\u304c\u306a\u3044\u304b\u691c\u8a3c\u3092\u3057\u307e\u3059\u3002<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E5%AE%9F%E9%9A%9B%E3%81%ABOOM%E3%82%92%E7%99%BA%E7%94%9F%E3%81%95%E3%81%9B%E3%81%A6Heap_dump%E3%82%92%E8%A6%8B%E3%81%A6%E3%81%BF%E3%82%8B\"><\/span>\u5b9f\u969b\u306bOOM\u3092\u767a\u751f\u3055\u305b\u3066Heap dump\u3092\u898b\u3066\u307f\u308b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u4e0a\u8a18\u306e\u6ce8\u76ee\u3059\u308b\u70b9\u3092\u8e0f\u307e\u3048\u3066\u3001\u5b9f\u969b\u306b\u672c\u756a\u74b0\u5883\u3067\u5f8c\u7d9a\u51e6\u7406\u304c\u9045\u3044\u3068\u304d\u306b\u8d77\u3053\u3063\u305f\u73fe\u8c61\u3092\u53c2\u8003\u306b\u3057\u305f\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3001OOM\u3092\u767a\u751f\u3055\u305b\u3066\u307f\u307e\u3059\u3002<\/p>\n<p>\u5b9f\u884c\u3057\u305f\u30b3\u30fc\u30c9\u306f\u3053\u3061\u3089\u3067\u3059\u3002 \u7c21\u5358\u306b\u8aac\u660e\u3059\u308b\u3068\u3001\u3059\u3053\u3057\u5927\u304d\u3081\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u751f\u6210(getLargeObject)\u3057\u3066\u3001\u305d\u308c\u3092\u6642\u9593\u304c\u304b\u304b\u308b\u51e6\u7406(executeHeavyTask)\u306b\u6e21\u3057\u3001\u305d\u308c\u305e\u308c\u306f\u5225\u306e\u30b9\u30ec\u30c3\u30c9\u30d7\u30fc\u30eb\u3092\u4f7f\u3063\u3066\u5b9f\u884c\u3057\u3066\u3044\u308b\u3068\u3044\u3046\u30b3\u30fc\u30c9\u3067\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import java.util.concurrent.Executors\r\n \r\nimport scala.concurrent.{ExecutionContext, Future}\r\nimport scala.util.Random\r\n \r\nclass LargeObject(val i: Int) {\r\n  val list = (0 to i * 10).toList\r\n}\r\n \r\nobject OomSample {\r\n  val r = new Random\r\n \r\n  def getLargeObject(implicit executionContext: ExecutionContext): Future[LargeObject] = Future(new LargeObject(r.nextInt(1000)))\r\n \r\n  def executeHeavyTask(o: LargeObject)(implicit executionContext: ExecutionContext): Future[Int] = Future {\r\n    Thread.sleep(o.i)\r\n    o.i\r\n  }\r\n \r\n  def main(args: Array[String]): Unit = {\r\n    val ec1 = ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(5))\r\n    val ec2 = ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(2))\r\n    val ec3 = ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(10))\r\n    while(true) {\r\n      getLargeObject(ec1)\r\n        .flatMap(executeHeavyTask(_)(ec2))(ec3)\r\n          .foreach(println)(ec3)\r\n      Thread.sleep(100)\r\n    }\r\n  }\r\n}\r\n<\/pre>\n<p>\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u305f\u3082\u306e\u3092\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5b9f\u884c\u3057\u3066\u3001\u3057\u3070\u3089\u304f(\u81ea\u5206\u306e\u30ed\u30fc\u30ab\u30eb\u306edocker\u4e0a\u3067\u306f3\u5206\u307b\u3069)\u7d4c\u3064\u3068OOM\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">java -Xmx128m \\\r\n-cp \/root\/work\/scala-library-2.12.6.jar:\/root\/work\/target\/scala-2.12\/classes\/ \\\r\n-XX:+HeapDumpOnOutOfMemoryError \\\r\n-XX:HeapDumpPath=\/root\/work\/ \\\r\nOomSample 1&gt; \/dev\/null\r\n<\/pre>\n<p>\u307e\u305a\u3001\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u306fGC overhead limit exceeded\u3060\u3063\u305f\u306e\u3067\u3001\u4f55\u304cHeap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u308b\u306e\u304b\u63a2\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n<p>MAT\u306eHistgram\u3067Retained Heap\u9806\u306b\u3059\u308b\u3068\u3001\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u500b\u6570\u306e\u308f\u308a\u306bThreadPoolExecutor\u3068LinkedBlockingQueue\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5927\u304d\u305d\u3046\u306a\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-126045\" src=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/sorted-by-retained.png\" alt=\"\" width=\"1154\" height=\"813\" srcset=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/sorted-by-retained.png 1154w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/sorted-by-retained-300x211.png 300w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/sorted-by-retained-768x541.png 768w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/sorted-by-retained-1024x721.png 1024w\" sizes=\"(max-width: 1154px) 100vw, 1154px\" \/><\/p>\n<p>\u305d\u3053\u3067\u3001\u53f3\u30af\u30ea\u30c3\u30af\u30e1\u30cb\u30e5\u30fc\u306eList objects &gt; with outgoing references\u3067ThreadPoolExecutor\u3068LinkedBlockingQueue\u306e\u30ea\u30b9\u30c8\u3092\u8868\u793a\u3057\u3066\u8a73\u7d30\u3092\u8abf\u3079\u307e\u3059\u3002<\/p>\n<p>\u5927\u304d\u306aThreadPoolExecutor\u306e\u8a73\u7d30\u3092\u898b\u308b\u3068\u3001\u5927\u304d\u306aLinkedBlockingQueue\u3092\u6301\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002 ThreadPoolExecutor\u306f\u554f\u984c\u3067\u306f\u306a\u304f\u3053\u306eLinkedBlockingQueue\u304cHeap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3057\u305f\u3002<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-126046\" src=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/linkedblockingqueue.png\" alt=\"\" width=\"1578\" height=\"1233\" srcset=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/linkedblockingqueue.png 1578w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/linkedblockingqueue-300x234.png 300w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/linkedblockingqueue-768x600.png 768w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/linkedblockingqueue-1024x800.png 1024w\" sizes=\"(max-width: 1578px) 100vw, 1578px\" \/><\/p>\n<p>\u3067\u306f\u3001\u306a\u305c\u3001Heap\u9818\u57df\u3092\u5727\u8feb\u3059\u308b\u307b\u3069\u5927\u304d\u306aLinkedBlockingQueue\u304c\u3067\u304d\u305f\u306e\u304b\u3092\u8003\u3048\u3066\u307f\u307e\u3059\u3002 \u305d\u3082\u305d\u3082\u3001\u3053\u306e\u5927\u304d\u306aLinkedBockingQueue\u306f\u30b9\u30ec\u30c3\u30c9\u30d7\u30fc\u30eb\u306e\u30bf\u30b9\u30af\u3092\u4fdd\u6301\u3059\u308bQueue\u3067\u3059\u3002<\/p>\n<p>\u305d\u3057\u3066\u3001Queue\u306eNode\u306e\u4e2d\u8eab\u3092\u306e\u305e\u3044\u3066\u3044\u304f\u3068LargeObject\u3092\u6301\u3063\u3066\u3044\u308b\u3053\u3068\u304b\u3089\u3001LargeObject\u3092\u4f7f\u3046\u30bf\u30b9\u30af\u304c\u305f\u307e\u3063\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<p>LargeObject\u3092\u4f7f\u3046\u30e1\u30bd\u30c3\u30c9\u306fexecuteHeavyTask\u3057\u304b\u3044\u306a\u3044\u306e\u3067\u3001executeHeavyTask\u304c\u9045\u3044\u3053\u3068\u3084executeHeavyTask\u3092\u5b9f\u884c\u3059\u308b\u30b9\u30ec\u30c3\u30c9\u304c2\u3064\u3057\u304b\u306a\u3044\u3053\u3068\u304c\u539f\u56e0\u3067\u3001\u51e6\u7406\u304c\u8ffd\u3044\u4ed8\u304b\u305aQueue\u306b\u30bf\u30b9\u30af\u304c\u305f\u307e\u308a\u7d9a\u3051Heap\u9818\u57df\u3092\u5727\u8feb\u3057\u3066\u3044\u308b\u3068\u4eee\u8aac\u3092\u7acb\u3066\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-126047\" src=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/largeobject-in-linkedblockingqueue.png\" alt=\"\" width=\"1416\" height=\"1461\" srcset=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/largeobject-in-linkedblockingqueue.png 1416w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/largeobject-in-linkedblockingqueue-291x300.png 291w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/largeobject-in-linkedblockingqueue-768x792.png 768w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/largeobject-in-linkedblockingqueue-992x1024.png 992w\" sizes=\"(max-width: 1416px) 100vw, 1416px\" \/><\/p>\n<p>\u3061\u306a\u307f\u306b\u3001\u4eca\u56de\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u306fexecuteHeavyTask\u306eThread.sleep\u3092\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3057\u3001\u6642\u9593\u304c\u304b\u304b\u3089\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u3068OOM\u304c\u8d77\u304d\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002(\u5b9f\u969b\u306e\u30b3\u30fc\u30c9\u3082\u3053\u308c\u304f\u3089\u3044\u30b5\u30af\u30c3\u3068\u9ad8\u901f\u5316\u3067\u304d\u305f\u3089\u3046\u308c\u3057\u3044\u306e\u3067\u3059\u304c...)<\/p>\n<h2><span class=\"ez-toc-section\" id=\"CPU%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%AE%E4%B8%8A%E6%98%87%E3%81%AE%E5%8E%9F%E5%9B%A0%E3%82%92%E6%8E%A2%E3%82%8B\"><\/span>CPU\u4f7f\u7528\u7387\u306e\u4e0a\u6607\u306e\u539f\u56e0\u3092\u63a2\u308b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>CPU\u4f7f\u7528\u7387\u304c\u9ad8\u3044\u3053\u3068\u81ea\u4f53\u306f\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u51e6\u7406\u304c\u8ffd\u3044\u3064\u304b\u305a\u30ed\u30fc\u30c9\u30a2\u30d9\u30ec\u30fc\u30b8\u304c\u4e0a\u304c\u3063\u3066\u3044\u308b\u5834\u5408\u306f\u305d\u306e\u9650\u308a\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u305d\u306e\u5834\u5408\u306fCPU\u4f7f\u7528\u7387\u304c\u9ad8\u3044\u539f\u56e0\u3092\u8abf\u3079\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B91_JVM%E8%87%AA%E8%BA%AB%E3%81%AE%E5%87%A6%E7%90%86%E3%81%AA%E3%81%AE%E3%81%8B%E8%87%AA%E5%88%86%E3%81%9F%E3%81%A1%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%AE%9F%E8%A1%8C%E3%81%AA%E3%81%AE%E3%81%8B\"><\/span>\u6ce8\u76ee\u3059\u308b\u70b91. JVM\u81ea\u8eab\u306e\u51e6\u7406\u306a\u306e\u304b\u81ea\u5206\u305f\u3061\u306e\u30b3\u30fc\u30c9\u306e\u5b9f\u884c\u306a\u306e\u304b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u307e\u305a\u3001JVM\u306eCPU\u4f7f\u7528\u7387\u304c\u4e0a\u304c\u308b\u539f\u56e0\u306f\u81ea\u5206\u305f\u3061\u306e\u30b3\u30fc\u30c9\u4ee5\u5916\u306b\u3082GC\u306a\u3069\u306eJVM\u306e\u51e6\u7406\u3067\u4e0a\u304c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002OOM\u767a\u751f\u524d\u3067Full GC\u304c\u983b\u767a\u3057\u3066\u3044\u308b\u3068\u304d\u304b\u3069\u3046\u304b\u304f\u3089\u3044\u306f\u6bd4\u8f03\u7684\u7c21\u5358\u306b\u78ba\u8a8d\u3067\u304d\u308b\u306e\u3067\u78ba\u8a8d\u3057\u3066\u3082\u3088\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u78ba\u8a8d\u65b9\u6cd5\u306f\u8d77\u52d5\u30aa\u30d7\u30b7\u30e7\u30f3\u306b<code>-Xloggc:\/your\/gclog\/file-path-and-format.log<\/code>\u3092\u6307\u5b9a\u3057\u3066\u304a\u3051\u3070GC\u30ed\u30b0\u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001Mackerel\u306a\u3069\u306e\u76e3\u8996\u30c4\u30fc\u30eb\u3067GC\u306b\u95a2\u3059\u308b\u30e1\u30c8\u30ea\u30c3\u30af\u30b9\u3092\u3068\u3063\u3066\u3044\u308c\u3070\u305d\u3061\u3089\u3067\u3082\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B92_%E4%BD%95%E3%81%AE%E5%87%A6%E7%90%86%E3%82%92%E5%AE%9F%E8%A1%8C%E4%B8%AD%E3%81%ABCPU%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%8C%E9%AB%98%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B\"><\/span>\u6ce8\u76ee\u3059\u308b\u70b92. \u4f55\u306e\u51e6\u7406\u3092\u5b9f\u884c\u4e2d\u306bCPU\u4f7f\u7528\u7387\u304c\u9ad8\u304b\u3063\u305f\u306e\u304b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u3069\u3046\u3044\u3063\u305f\u51e6\u7406\u304cCPU\u30ea\u30bd\u30fc\u30b9\u3092\u6d88\u8cbb\u3057\u3066\u3044\u308b\u306e\u304b\u3092\u8abf\u3079\u307e\u3059\u3002<\/p>\n<p><a href=\"https:\/\/blogs.oracle.com\/jiechen\/analysis-against-jvm-thread-dump-cpu-high-usage-issue\">Oracle\u306e\u30d6\u30ed\u30b0<\/a>\u3067\u7d39\u4ecb\u3055\u308c\u3066\u3044\u308b\u624b\u9806\u3067\u8abf\u3079\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u307e\u305a\u3001<a href=\"http:\/\/man7.org\/linux\/man-pages\/man1\/top.1.html\">top -H\u3092\u4f7f\u3044Threads-mode<\/a>\u3067\u898b\u308b\u3068\u3001\u5404\u30b9\u30ec\u30c3\u30c9\u306eCPU\u4f7f\u7528\u7387\u304c\u308f\u304b\u308a\u307e\u3059\u3002\u305d\u3053\u306b\u8868\u793a\u3055\u308c\u3066\u3044\u308bPID\u309216\u9032\u6570\u306b\u3057\u305f\u5024\u304cThread dump\u5185\u306e\u5404\u30b9\u30ec\u30c3\u30c9\u306enid\u3068\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u3002<br \/>\n\u4f8b\u3048\u3070\u3001top -H\u3067\u898b\u305f\u3068\u304d\u3001\u4ee5\u4e0b\u3088\u3046\u306aPID306\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u3042\u308b\u3068\u304d\u3001<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">306 root      20   0 2503972  88856  15696 R 62.5  2.2   1:59.22 pool-1-thread-2\r\n<\/pre>\n<p>306\u309216\u9032\u6570\u8868\u8a18\u306b\u3059\u308b\u3068132\u306a\u306e\u3067\u3001Thread dump\u3092\u898b\u3066\u3001nid=0x132\u306epool-1-thread-2\u304c\u5bfe\u5fdc\u3057\u3066\u308b\u30b9\u30ec\u30c3\u30c9\u3067\u3042\u308a\u4f55\u3092\u5b9f\u884c\u4e2d\u306a\u306e\u304b\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">\"pool-1-thread-2\" #9 prio=5 os_prio=0 tid=0x00007f39d1c2f800 nid=0x132 runnable [0x00007f39c09f7000]\r\n   java.lang.Thread.State: RUNNABLE\r\n        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:155)\r\n        at HighCpuSample$.$anonfun$thirdPowerOf$3(HighCpuSample.scala:8)\r\n        at HighCpuSample$$$Lambda$14\/2100333990.apply$mcVI$sp(Unknown Source)\r\n        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:156)\r\n<\/pre>\n<p>\u3053\u306e\u3088\u3046\u306b\u3001top -H\u3068Thread dump\u3092\u898b\u308b\u3053\u3068\u3067CPU\u4f7f\u7528\u7387\u304c\u9ad8\u3044\u30b9\u30ec\u30c3\u30c9\u304c\u884c\u3063\u3066\u3044\u308b\u51e6\u7406\u3092\u7279\u5b9a\u3067\u304d\u307e\u3059\u3002<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E6%B3%A8%E7%9B%AE%E3%81%99%E3%82%8B%E7%82%B93_%E5%87%A6%E7%90%86%E3%81%AE%E5%85%B7%E4%BD%93%E7%9A%84%E3%81%AA%E5%86%85%E5%AE%B9%E3%81%AF%E4%BD%95%E3%81%A0%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%8B\"><\/span>\u6ce8\u76ee\u3059\u308b\u70b93. \u51e6\u7406\u306e\u5177\u4f53\u7684\u306a\u5185\u5bb9\u306f\u4f55\u3060\u3063\u305f\u306e\u304b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u3069\u306e\u51e6\u7406\u3092\u5b9f\u884c\u4e2d\u306bCPU\u4f7f\u7528\u7387\u304c\u9ad8\u304b\u3063\u305f\u306e\u304b\u304c\u308f\u304b\u308a\u3001\u305d\u306e\u30b3\u30fc\u30c9\u3092\u898b\u3066\u660e\u3089\u304b\u306b\u554f\u984c\u3067\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308c\u3070\u3001\u4fee\u6b63\u3057\u3066\u7d42\u308f\u308a\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\u3057\u304b\u3057\u3001\u5b9f\u969b\u306f\u3001CPU\u4f7f\u7528\u7387\u304c\u9ad8\u3044\u30b9\u30ec\u30c3\u30c9\u304c\u4e00\u3064\u3067\u306f\u306a\u304f\u3001\u3044\u304f\u3064\u304b\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u4ed6\u3068\u6bd4\u3079\u308b\u3068\u9ad8\u3044\u72b6\u614b\u306b\u306a\u3063\u3066\u3044\u305f\u308a\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u7279\u5fb4\u306e\u9055\u3044\u306b\u3088\u3063\u3066\u540c\u69d8\u306e\u51e6\u7406\u3067\u3082\u51e6\u7406\u6642\u9593\u306b\u3070\u3089\u3064\u304d\u304c\u3042\u3063\u305f\u308a\u3057\u307e\u3059\u3002 \u30b3\u30fc\u30c9\u3092\u898b\u305f\u3060\u3051\u3067\u306f\u308f\u304b\u3089\u306a\u3044\u3068\u304d\u3084\u78ba\u8a3c\u3092\u5f97\u3089\u308c\u306a\u3044\u3068\u304d\u306f\u3001\u3055\u3089\u306bHeap dump\u304b\u3089\u51e6\u7406\u3067\u6271\u3063\u3066\u3044\u308b\u30c7\u30fc\u30bf\u3092\u898b\u3066\u3001\u51e6\u7406\u306e\u5177\u4f53\u7684\u306a\u5185\u5bb9\u306f\u4f55\u3060\u3063\u305f\u306e\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<p>MAT\u3092\u4f7f\u3046\u3068Thread\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u53c2\u7167\u306b\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u304c&lt;Java Local&gt;\u3068\u3044\u3046\u8868\u793a\u3067\u3067\u308b\u3053\u3068\u304c\u3042\u308b\u306e\u3067\u3001\u8a73\u7d30\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u3067\u3042\u308b\u7a0b\u5ea6\u4e88\u6e2c\u3067\u304d\u307e\u3059\u3002 \u307e\u305f\u3001VisualVM\u306e\u5834\u5408\u3082Heap dump\u306b\u3064\u3044\u3066\u3044\u308bThread dump\u304b\u3089\u30ed\u30fc\u30ab\u30eb\u5909\u6570\u306e\u8a73\u7d30\u3092\u305f\u3069\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u306e\u3067\u3001\u3042\u308b\u7a0b\u5ea6\u4e88\u6e2c\u3067\u304d\u307e\u3059\u3002<\/p>\n<p>\u305f\u3060\u3001\u7247\u65b9\u3067\u306f\u8868\u793a\u3067\u304d\u308b\u60c5\u5831\u304c\u3082\u3046\u4e00\u65b9\u3067\u306f\u8868\u793a\u3067\u304d\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u304c\u3042\u308b\u306e\u3067\u3001\u308f\u304b\u3089\u306a\u304b\u3063\u305f\u3089\u9055\u3046\u30c4\u30fc\u30eb\u3092\u4f7f\u3063\u3066\u8abf\u3079\u3066\u307f\u308b\u3068\u3088\u3044\u3067\u3059\u3002<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%E5%AE%9F%E9%9A%9B%E3%81%ABCPU%E4%BD%BF%E7%94%A8%E7%8E%87%E3%81%AE%E4%B8%8A%E6%98%87%E3%81%8C%E7%B6%9A%E3%81%8F%E7%8A%B6%E6%85%8B%E3%81%AB%E3%81%97%E3%81%A6%E5%8E%9F%E5%9B%A0%E3%82%92%E8%BF%BD%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B\"><\/span>\u5b9f\u969b\u306bCPU\u4f7f\u7528\u7387\u306e\u4e0a\u6607\u304c\u7d9a\u304f\u72b6\u614b\u306b\u3057\u3066\u539f\u56e0\u3092\u8ffd\u3063\u3066\u307f\u308b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u4eca\u56de\u306f\u3001\u52b9\u7387\u306e\u60aa\u3044\u65b9\u6cd5\u30673\u4e57\u3092\u8a08\u7b97\u3057\u3066\u8fd4\u3059\u4ee5\u4e0b\u306e\u30b3\u30fc\u30c9\u3067CPU\u4f7f\u7528\u7387\u304c\u9ad8\u3044\u72b6\u614b\u304c\u7d9a\u304f\u3088\u3046\u306b\u3057\u3066\u307f\u307e\u3059\u3002 top -H\u3068Thread\/Heap dump\u3092\u307f\u3066\u539f\u56e0\u3092\u8ffd\u3044\u3001thirdPowerOf\u306b\u5f15\u6570\u306b10000\u304c\u4e0e\u3048\u3089\u308c\u305f\u3068\u304d\u306b\u51e6\u7406\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u3068\u4e88\u6e2c\u3059\u308b\u3068\u3053\u308d\u307e\u3067\u3084\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">import java.util.concurrent.Executors\r\n \r\nimport scala.concurrent.{ExecutionContext, Future}\r\n \r\nobject HighCpuSample {\r\n  def thirdPowerOf(n: Int)(implicit executionContext: ExecutionContext): Future[Int] = Future {\r\n    var i = 0\r\n    (1 to n).foreach(_ =&gt; (1 to n).foreach(_ =&gt; (1 to n).foreach(_ =&gt; i = i + 1)))\r\n    i\r\n  }\r\n \r\n  def main(args: Array[String]): Unit = {\r\n    val ec = ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(5))\r\n    thirdPowerOf(10000)(ec)\r\n    thirdPowerOf(10000)(ec)\r\n    thirdPowerOf(10000)(ec)\r\n    while (true) {\r\n      thirdPowerOf(100)(ec)\r\n      Thread.sleep(10)\r\n    }\r\n  }\r\n}\r\n<\/pre>\n<p>\u30b3\u30f3\u30d1\u30a4\u30eb\u3057\u305f\u3082\u306e\u3092\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5b9f\u884c\u3057\u307e\u3059\u3002(\u4ee5\u4e0b\u3001\u30d7\u30ed\u30bb\u30b9ID\u304c293\u3067\u8d77\u52d5\u3057\u3066\u3044\u308b\u3082\u306e\u3068\u3057\u3066\u8aac\u660e\u3057\u307e\u3059\u3002)<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">java -Xmx128m \\\r\n-cp \/root\/work\/scala-library-2.12.6.jar:\/root\/work\/target\/scala-2.12\/classes\/ \\\r\n-Xloggc:\/root\/work\/gc.%p.log \\\r\nHighCpuSample\r\n<\/pre>\n<p>\u307e\u305a\u3001Full GC\u304c\u983b\u767a\u3057\u3066\u3044\u306a\u3044\u304b\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">root@9351b9b5ca2a:~\/work# grep -i full gc.pid293.log\r\nroot@9351b9b5ca2a:~\/work#\r\n<\/pre>\n<p>\u4eca\u56de\u306f\u4e00\u56de\u3082\u8d77\u3053\u3063\u3066\u3044\u307e\u305b\u3093\u306e\u3067\u3001CPU\u4f7f\u7528\u7387\u304c\u9ad8\u3044\u7406\u7531\u306fGC\u306f\u95a2\u4fc2\u306a\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n<p>\u6b21\u306b\u3001\u4f55\u306e\u51e6\u7406\u3092\u5b9f\u884c\u4e2d\u306bCPU\u4f7f\u7528\u7387\u304c\u9ad8\u304b\u3063\u305f\u306e\u304b\u3001\u5207\u308a\u5206\u3051\u306b\u5fc5\u8981\u306a\u60c5\u5831(top -H\u3001Thread\/Heap dump)\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">root@9351b9b5ca2a:~\/work# top -H -p293 -b -n1 &amp;&amp; jcmd 293 Thread.print &gt; 293.tdump &amp;&amp; jcmd 293 GC.heap_dump \/root\/work\/java_pid293.hprof\r\ntop - 01:26:09 up 13:07,  0 users,  load average: 3.58, 5.43, 6.11\r\nThreads:  18 total,   3 running,  15 sleeping,   0 stopped,   0 zombie\r\n%Cpu(s): 44.3 us,  4.6 sy,  0.0 ni, 50.0 id,  0.6 wa,  0.0 hi,  0.5 si,  0.0 st\r\nKiB Mem :  4023320 total,  1516504 free,   989028 used,  1517788 buff\/cache\r\nKiB Swap:  1048572 total,  1048572 free,        0 used.  2808916 avail Mem\r\n \r\n  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND\r\n  306 root      20   0 2503972  88856  15696 R 62.5  2.2   1:59.22 pool-1-thread-2\r\n  305 root      20   0 2503972  88856  15696 R 56.2  2.2   1:58.40 pool-1-thread-1\r\n  307 root      20   0 2503972  88856  15696 R 43.8  2.2   2:01.17 pool-1-thread-3\r\n  297 root      20   0 2503972  88856  15696 S  6.2  2.2   0:03.02 VM Thread\r\n  308 root      20   0 2503972  88856  15696 S  6.2  2.2   0:15.77 pool-1-thread-4\r\n  309 root      20   0 2503972  88856  15696 S  6.2  2.2   0:15.74 pool-1-thread-5\r\n  293 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.00 java\r\n  294 root      20   0 2503972  88856  15696 S  0.0  2.2   0:01.51 java\r\n  295 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.31 java\r\n  296 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.33 java\r\n  298 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.00 Reference Handl\r\n  299 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.00 Finalizer\r\n  300 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.00 Signal Dispatch\r\n  301 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.24 C2 CompilerThre\r\n  302 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.18 C1 CompilerThre\r\n  303 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.00 Service Thread\r\n  304 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.12 VM Periodic Tas\r\n  326 root      20   0 2503972  88856  15696 S  0.0  2.2   0:00.05 Attach Listener\r\n293:\r\nHeap dump file created\r\nroot@9351b9b5ca2a:~\/work#\r\n<\/pre>\n<p>top -H\u306e\u7d50\u679c\u3092\u898b\u3066\u602a\u3057\u305d\u3046\u306a\u30b9\u30ec\u30c3\u30c9\u306enid\u3092\u7279\u5b9a\u3057\u307e\u3059\u3002 \u4e0a\u4f4d3\u30b9\u30ec\u30c3\u30c9\u304c\u4ed6\u3068\u6bd4\u3079CPU\u4f7f\u7528\u7387\u304c\u9ad8\u304f\u602a\u3057\u305d\u3046\u306a\u306e\u3067\u3001PID\u309216\u9032\u6570\u306b\u5909\u3048\u3001<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">irb(main):001:0&gt; &lt;&lt;-STR.split(\"\\n\").map{|l| l.to_i.to_s(16)}\r\nirb(main):002:0\" \u00a0 306 root \u00a0\u00a0\u00a0 20 \u00a0 0 2503972\u00a0 88856 15696 R 62.5\u00a0 2.2 1:59.22 pool-1-thread-2\r\nirb(main):003:0\" \u00a0 305 root \u00a0\u00a0\u00a0 20 \u00a0 0 2503972\u00a0 88856 15696 R 56.2\u00a0 2.2 1:58.40 pool-1-thread-1\r\nirb(main):004:0\" \u00a0 307 root \u00a0\u00a0\u00a0 20 \u00a0 0 2503972\u00a0 88856 15696 R 43.8\u00a0 2.2 2:01.17 pool-1-thread-3\r\nirb(main):005:0\" STR\r\n=&gt; [\"132\", \"131\", \"133\"]\r\n<\/pre>\n<p>nid\u306e\u5024\u3092\u57fa\u306b\u5404\u30b9\u30ec\u30c3\u30c9\u304c\u3069\u3046\u3044\u3046\u51e6\u7406\u3092\u3057\u3066\u3044\u308b\u6700\u4e2d\u3060\u3063\u305f\u306e\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">root@9351b9b5ca2a:~\/work# grep -A5 -e \"nid=0x132 \" -e \"nid=0x131 \" -e \"nid=0x133 \" 293.tdump\r\n\"pool-1-thread-3\" #10 prio=5 os_prio=0 tid=0x00007f39d1c32800 nid=0x133 runnable [0x00007f39c08f6000]\r\n   java.lang.Thread.State: RUNNABLE\r\n        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:155)\r\n        at HighCpuSample$.$anonfun$thirdPowerOf$3(HighCpuSample.scala:8)\r\n        at HighCpuSample$$$Lambda$14\/2100333990.apply$mcVI$sp(Unknown Source)\r\n        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:156)\r\n--\r\n\"pool-1-thread-2\" #9 prio=5 os_prio=0 tid=0x00007f39d1c2f800 nid=0x132 runnable [0x00007f39c09f7000]\r\n   java.lang.Thread.State: RUNNABLE\r\n        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:155)\r\n        at HighCpuSample$.$anonfun$thirdPowerOf$3(HighCpuSample.scala:8)\r\n        at HighCpuSample$$$Lambda$14\/2100333990.apply$mcVI$sp(Unknown Source)\r\n        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:156)\r\n--\r\n\"pool-1-thread-1\" #8 prio=5 os_prio=0 tid=0x00007f39d1c2e000 nid=0x131 runnable [0x00007f39c0af8000]\r\n   java.lang.Thread.State: RUNNABLE\r\n        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:155)\r\n        at HighCpuSample$.$anonfun$thirdPowerOf$3(HighCpuSample.scala:8)\r\n        at HighCpuSample$$$Lambda$14\/2100333990.apply$mcVI$sp(Unknown Source)\r\n        at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:156)\r\n<\/pre>\n<p>\u3059\u308b\u3068\u3001\u4e0a\u4f4d3\u30b9\u30ec\u30c3\u30c9\u304c\u540c\u69d8\u306bthirdPowerOf\u3092\u5b9f\u884c\u4e2d\u3067\u3042\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059\u3002<\/p>\n<p>\u3057\u304b\u3057\u3001\u3053\u306e\u60c5\u5831\u3060\u3051\u3060\u3068\u3001\u540c\u3058\u30b9\u30ec\u30c3\u30c9\u30d7\u30fc\u30eb\u306b\u306f5\u30b9\u30ec\u30c3\u30c9\u3042\u308b\u306f\u305a\u306a\u306e\u306b\u3001\u3053\u306e3\u30b9\u30ec\u30c3\u30c9\u3060\u3051\u304c\u98db\u3073\u306c\u3051\u3066\u3044\u308b\u7406\u7531\u304c\u308f\u304b\u308a\u307e\u305b\u3093\u3002<\/p>\n<p>\u305d\u3053\u3067\u3001\u51e6\u7406\u306e\u5177\u4f53\u7684\u306a\u5185\u5bb9\u306f\u4f55\u3060\u3063\u305f\u306e\u304b\u3092\u78ba\u8a8d\u3059\u308b\u305f\u3081\u3001Heap dump\u3092\u898b\u3066\u8abf\u3079\u307e\u3059\u3002 VisualVM\u3067Heap dump\u3092\u898b\u308b\u3068\u30b5\u30de\u30ea\u304b\u3089Thread dump\u304c\u898b\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u305d\u3053\u304b\u3089\u3001\u5177\u4f53\u7684\u306a\u51e6\u7406\u5bfe\u8c61\u304c\u4e88\u6e2c\u3067\u304d\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u306a\u3044\u304b\u63a2\u3057\u3066\u307f\u307e\u3059\u3002 \u30b3\u30fc\u30c9\u3092\u898b\u308b\u3068\u3001(1 to n)\u3092\u4f7f\u3063\u3066\u7bc4\u56f2\u3092\u8868\u3059\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u3063\u3066\u3044\u308b\u306e\u3067\u3001scala.collection.immutable.Range$Inclusive#1\u306e\u4e2d\u8eab\u3092\u898b\u308b\u3068thirdPowerOf\u306b\u6e21\u3055\u308c\u305f\u5f15\u6570\u304c\u308f\u304b\u308a\u305d\u3046\u3067\u3059\u3002<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-126048\" src=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/threaddump-in-heapdump.png\" alt=\"\" width=\"1422\" height=\"1426\" srcset=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/threaddump-in-heapdump.png 1422w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/threaddump-in-heapdump-150x150.png 150w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/threaddump-in-heapdump-300x300.png 300w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/threaddump-in-heapdump-768x770.png 768w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/threaddump-in-heapdump-1021x1024.png 1021w\" sizes=\"(max-width: 1422px) 100vw, 1422px\" \/><\/p>\n<p>\u305d\u3057\u3066\u3053\u306escala.collection.immutable.Range$Inclusive\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u8a73\u7d30\u3092\u78ba\u8a8d\u3059\u308b\u30681\u304b\u308910000\u307e\u3067\u306e\u7bc4\u56f2\u3092\u8868\u3059\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3042\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u4ed6\u306e2\u30b9\u30ec\u30c3\u30c9\u3082\u540c\u69d8\u306e\u5024\u3067\u3057\u305f\u3002<\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-126049\" src=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/range-object-detail.png\" alt=\"\" width=\"1724\" height=\"579\" srcset=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/range-object-detail.png 1724w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/range-object-detail-300x101.png 300w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/range-object-detail-768x258.png 768w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/range-object-detail-1024x344.png 1024w\" sizes=\"(max-width: 1724px) 100vw, 1724px\" \/><\/p>\n<p>\u3055\u3089\u306b\u3001\u540c\u69d8\u306e\u51e6\u7406\u3092\u3057\u3066\u3044\u308b\u304cCPU\u4f7f\u7528\u7387\u304c\u4e0a\u304c\u3063\u3066\u3044\u306a\u304b\u3063\u305f\u30b9\u30ec\u30c3\u30c9\u306escala.collection.immutable.Range$Inclusive\u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u78ba\u8a8d\u3059\u308b\u3068\u3001 1\u304b\u3089100\u307e\u3067\u306e\u7bc4\u56f2\u3092\u8868\u3059\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u3042\u3063\u305f\u306e\u3067\u3001 thirdPowerOf\u306b\u4e0e\u3048\u305f\u5f15\u6570\u304c100\u306e\u3068\u304d\u306f\u554f\u984c\u306b\u306a\u3089\u306a\u3044\u30ec\u30d9\u30eb\u3067\u51e6\u7406\u304c\u3067\u304d\u308b\u304c\u300110000\u3092\u4e0e\u3048\u308b\u3068\u554f\u984c\u304c\u8d77\u304d\u308b\u30ec\u30d9\u30eb\u306b\u306a\u308b\u3068\u4e88\u60f3\u3067\u304d\u307e\u3059\u3002<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E3%81%BE%E3%81%A8%E3%82%81\"><\/span>\u307e\u3068\u3081<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Thread\/Heap dump\u306fJVM\u306e\u305d\u306e\u6642\u306e\u60c5\u5831\u304c\u30c9\u30d0\u3063\u3068\u51fa\u305f\u3082\u306e\u3067\u3001OOM\u304c\u8d77\u3053\u3063\u305f\u304b\u3089\u3053\u3053\u304c\u539f\u56e0\u3060\u3068\u6559\u3048\u3066\u304f\u308c\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3057\u304b\u3057\u3001\u7406\u8a70\u3081\u3067\u8d77\u3053\u3063\u305f\u73fe\u8c61\u3092\u6574\u7406\u3057\u305f\u308a\u554f\u984c\u3092\u63a2\u3063\u305f\u308a\u3059\u308b\u3068\u304d\u306b\u5fc5\u8981\u306a\u60c5\u5831\u304c\u8a70\u307e\u3063\u305f\u91cd\u8981\u306a\u3082\u306e\u3067\u3059\u3002\u79c1\u81ea\u8eab\u306f\u3001\u3053\u306e\u3088\u3046\u306b\u8003\u3048\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u304b\u3089\u3001\u4f55\u304c\u308f\u304b\u3089\u306a\u3044\u304b\u3082\u308f\u304b\u3089\u306a\u3044\u72b6\u614b\u304b\u3089\u3001\u4f55\u304c\u308f\u304b\u3089\u306a\u3044\u304b\u308f\u304b\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u6c17\u304c\u3057\u3066\u3001Thread\/Heap dump\u8aad\u3080\u306e\u304c\u697d\u3057\u304f\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<p>\u6700\u5f8c\u306b\u3001\u3053\u3053\u3067\u66f8\u3044\u305f\u6ce8\u76ee\u3059\u308b\u70b9\u3084\u5207\u308a\u5206\u3051\u306e\u9806\u5e8f\u3068\u304b\u306f\u3001\u79c1\u306a\u308a\u306e\u7406\u8a70\u3081\u306e\u65b9\u6cd5\u3067\u3059\u3002\u304d\u3063\u3068\u3001\u4f3c\u3066\u3044\u308b\u90e8\u5206\u306f\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u4eba\u306b\u3088\u3063\u3066\u3084\u308a\u65b9\u304c\u9055\u3063\u3066\u304f\u308b\u3068\u601d\u3044\u307e\u3059\u3002\u3067\u3059\u306e\u3067\u3001\u539f\u56e0\u8abf\u67fb\u306e\u3084\u308a\u65b9\u304c\u308f\u304b\u3089\u306a\u3044\u3068\u304d\u306b\u3001\u4e00\u4f8b\u3068\u3057\u3066\u53c2\u8003\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n<h4><strong>\u25a0 Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9023\u8f09\u4e00\u89a7<\/strong><\/h4>\n<p>Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30e1\u30f3\u30d0\u30fc\u304c\u57f7\u7b46\u3057\u305f\u4ed6\u306e\u8a18\u4e8b\u3082\u305c\u3072\u3054\u89a7\u304f\u3060\u3055\u3044\u3002<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/backlog.com\/ja\/blog\/the-story-of-large-scale-replacement-with-play-framework-over-4-years\/\" target=\"_blank\" rel=\"noopener\">\u6642\u7cfb\u5217\u3067\u307f\u308b\uff014\u5e74\u306e\u6b73\u6708\u3092\u304b\u3051\u3066Play Framework\u3067\u300c\u5927\u898f\u6a21\u30ea\u30d7\u30ec\u30a4\u30b9\u300d\u3057\u305f\u8a71<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/backlog.com\/ja\/blog\/7-actions-and-reflections-that-the-backlog-play-team-worked-to-make-large-scale-replacement-successful\/\" target=\"_blank\" rel=\"noopener\">\u958b\u767a\u30c1\u30fc\u30e0\u304c\u5927\u898f\u6a21\u30ea\u30d7\u30ec\u30a4\u30b9\u3092\u6210\u529f\u3055\u305b\u308b\u305f\u3081\u306b\u53d6\u308a\u7d44\u3093\u3060 \u201c7\u3064\u306e\u53d6\u308a\u7d44\u307f\u3068\u53cd\u7701\u201d<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/backlog.com\/ja\/blog\/how-to-improve-backlog-code-maintainability\/\" target=\"_blank\" rel=\"noopener\">Backlog\u306e\u30b3\u30fc\u30c9\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u6027\u3092\u5411\u4e0a\u3055\u305b\u308b\u305f\u3081\u306b\u6c17\u3092\u3064\u3051\u305f\u3053\u3068<\/a><\/strong><\/li>\n<li><a href=\"https:\/\/backlog.com\/ja\/blog\/how-sre-resolved-the-problems-on-large-scale-replacement-with-play-framework\/\" target=\"_blank\" rel=\"noopener\"><strong>SRE\u306f\u5927\u898f\u6a21\u306a\u30ea\u30d7\u30ec\u30a4\u30b9\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u767a\u751f\u3057\u305f\u69d8\u3005\u306a\u554f\u984c\u306b\u3069\u3046\u53d6\u308a\u7d44\u3093\u3060\u304b<\/strong><\/a><\/li>\n<li><strong>\u5927\u898f\u6a21\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u9014\u4e2d\u53c2\u52a0\u3057\u3066\u611f\u3058\u305f\u3053\u3068<\/strong><\/li>\n<li><strong>\u9577\u671f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u52b9\u679c\u7684\u306b \u201c\u3075\u308a\u304b\u3048\u308b\u201d\u305f\u3081\u306bBacklog\u30c1\u30fc\u30e0\u3067\u3084\u3063\u305f\u3053\u3068<\/strong><\/li>\n<\/ul>\n<p><a href=\"https:\/\/backlog.com\/ja\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" class=\"alignnone wp-image-123052 size-full\" src=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2018\/12\/backlog-banner.png\" alt=\"\u30bf\u30b9\u30af\u7ba1\u7406\u3001\u30d5\u30a1\u30a4\u30eb\u5171\u6709\u3082\u3067\u304d\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u7ba1\u7406\u30c4\u30fc\u30ebBacklog\" width=\"1380\" height=\"300\" srcset=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2018\/12\/backlog-banner.png 1380w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2018\/12\/backlog-banner-300x65.png 300w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2018\/12\/backlog-banner-768x167.png 768w, https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2018\/12\/backlog-banner-1024x223.png 1024w\" sizes=\"(max-width: 1380px) 100vw, 1380px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\u30cc\u30fc\u30e9\u30dc\u3067Scala\u3092\u66f8\u304fRubyist\u306e\u8c37\u672c\u3067\u3059\u3002\u30cc\u30fc\u30e9\u30dc\u3067\u306f\u3001Backlog\u306e\u958b\u767a\u3092\u62c5\u5f53\u3057\u3066\u304a\u308a\u3001\u6700\u8fd1\u3067\u306fBacklog\u3092Java\u304b\u3089Scala \/ Play Framewor <a href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/\">\u7d9a\u304d\u3092\u8aad\u3080&raquo;<\/a>","protected":false},"author":118,"featured_media":126066,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false},"categories":[10120],"tags":[10209],"storyline":[],"topic":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JVM\u4e0a\u3067\u52d5\u304fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u98df\u3044\u3064\u3076\u3059\u539f\u56e0\u3092\u63a2\u308b\u305f\u3081\u306b\u3084\u3063\u305f\u3053\u3068\u3010Backlog Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3011 | Backlog\u30d6\u30ed\u30b0<\/title>\n<meta name=\"description\" content=\"Java\u304b\u3089Scala \/ Play Framework\u306b\u5b8c\u5168\u79fb\u884c\u3057\u305fBacklog\u306e\u300cPlay\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300d\u9023\u8f09\u7b2c4\u56de\u76ee\u306f\u300cJVM\u3067\u8d77\u3053\u3063\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u306e\u5207\u308a\u5206\u3051\u65b9\u300d\u3092\u30c6\u30fc\u30de\u306b\u3001OutOfMemorryError\u306e\u767a\u751f\u3084CPU\u4f7f\u7528\u7387\u306a\u3069\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584\u306e\u305f\u3081\u306b\u5b9f\u65bd\u3057\u305f\u8abf\u67fb\u65b9\u6cd5\u3092\u5c4a\u3051\u3057\u307e\u3059\u3002\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JVM\u4e0a\u3067\u52d5\u304fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u98df\u3044\u3064\u3076\u3059\u539f\u56e0\u3092\u63a2\u308b\u305f\u3081\u306b\u3084\u3063\u305f\u3053\u3068\u3010Backlog Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3011 | Backlog\u30d6\u30ed\u30b0\" \/>\n<meta property=\"og:description\" content=\"Java\u304b\u3089Scala \/ Play Framework\u306b\u5b8c\u5168\u79fb\u884c\u3057\u305fBacklog\u306e\u300cPlay\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300d\u9023\u8f09\u7b2c4\u56de\u76ee\u306f\u300cJVM\u3067\u8d77\u3053\u3063\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u306e\u5207\u308a\u5206\u3051\u65b9\u300d\u3092\u30c6\u30fc\u30de\u306b\u3001OutOfMemorryError\u306e\u767a\u751f\u3084CPU\u4f7f\u7528\u7387\u306a\u3069\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584\u306e\u305f\u3081\u306b\u5b9f\u65bd\u3057\u305f\u8abf\u67fb\u65b9\u6cd5\u3092\u5c4a\u3051\u3057\u307e\u3059\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/\" \/>\n<meta property=\"og:site_name\" content=\"Backlog.com (JA)\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-23T01:58:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-06T05:25:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/8f7c2f5fbd88e4f8a326acf6a87b2d0e.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1360\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"tanimoto\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"tanimoto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"33 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/\",\"url\":\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/\",\"name\":\"JVM\u4e0a\u3067\u52d5\u304fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u98df\u3044\u3064\u3076\u3059\u539f\u56e0\u3092\u63a2\u308b\u305f\u3081\u306b\u3084\u3063\u305f\u3053\u3068\u3010Backlog Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3011 | Backlog\u30d6\u30ed\u30b0\",\"isPartOf\":{\"@id\":\"https:\/\/backlog.com\/ja\/#website\"},\"datePublished\":\"2019-10-23T01:58:06+00:00\",\"dateModified\":\"2024-08-06T05:25:36+00:00\",\"author\":{\"@id\":\"https:\/\/backlog.com\/ja\/#\/schema\/person\/3e5a735610d1f17d3b9c2116ebaee350\"},\"description\":\"Java\u304b\u3089Scala \/ Play Framework\u306b\u5b8c\u5168\u79fb\u884c\u3057\u305fBacklog\u306e\u300cPlay\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300d\u9023\u8f09\u7b2c4\u56de\u76ee\u306f\u300cJVM\u3067\u8d77\u3053\u3063\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u306e\u5207\u308a\u5206\u3051\u65b9\u300d\u3092\u30c6\u30fc\u30de\u306b\u3001OutOfMemorryError\u306e\u767a\u751f\u3084CPU\u4f7f\u7528\u7387\u306a\u3069\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584\u306e\u305f\u3081\u306b\u5b9f\u65bd\u3057\u305f\u8abf\u67fb\u65b9\u6cd5\u3092\u5c4a\u3051\u3057\u307e\u3059\u3002\",\"breadcrumb\":{\"@id\":\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/backlog.com\/ja\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JVM\u4e0a\u3067\u52d5\u304fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u98df\u3044\u3064\u3076\u3059\u539f\u56e0\u3092\u63a2\u308b\u305f\u3081\u306b\u3084\u3063\u305f\u3053\u3068\u3010Backlog Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3011\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/backlog.com\/ja\/#website\",\"url\":\"https:\/\/backlog.com\/ja\/\",\"name\":\"Backlog.com (JA)\",\"description\":\"\u30c1\u30fc\u30e0\u3067\u4f7f\u3046\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u7ba1\u7406\u30fb\u30bf\u30b9\u30af\u7ba1\u7406\u30c4\u30fc\u30ebBacklog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/backlog.com\/ja\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/backlog.com\/ja\/#\/schema\/person\/3e5a735610d1f17d3b9c2116ebaee350\",\"name\":\"tanimoto\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/backlog.com\/ja\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c0a1b8d039afd646a096e49ca0cbc621?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c0a1b8d039afd646a096e49ca0cbc621?s=96&d=mm&r=g\",\"caption\":\"tanimoto\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JVM\u4e0a\u3067\u52d5\u304fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u98df\u3044\u3064\u3076\u3059\u539f\u56e0\u3092\u63a2\u308b\u305f\u3081\u306b\u3084\u3063\u305f\u3053\u3068\u3010Backlog Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3011 | Backlog\u30d6\u30ed\u30b0","description":"Java\u304b\u3089Scala \/ Play Framework\u306b\u5b8c\u5168\u79fb\u884c\u3057\u305fBacklog\u306e\u300cPlay\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300d\u9023\u8f09\u7b2c4\u56de\u76ee\u306f\u300cJVM\u3067\u8d77\u3053\u3063\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u306e\u5207\u308a\u5206\u3051\u65b9\u300d\u3092\u30c6\u30fc\u30de\u306b\u3001OutOfMemorryError\u306e\u767a\u751f\u3084CPU\u4f7f\u7528\u7387\u306a\u3069\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584\u306e\u305f\u3081\u306b\u5b9f\u65bd\u3057\u305f\u8abf\u67fb\u65b9\u6cd5\u3092\u5c4a\u3051\u3057\u307e\u3059\u3002","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/","og_locale":"ja_JP","og_type":"article","og_title":"JVM\u4e0a\u3067\u52d5\u304fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u98df\u3044\u3064\u3076\u3059\u539f\u56e0\u3092\u63a2\u308b\u305f\u3081\u306b\u3084\u3063\u305f\u3053\u3068\u3010Backlog Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3011 | Backlog\u30d6\u30ed\u30b0","og_description":"Java\u304b\u3089Scala \/ Play Framework\u306b\u5b8c\u5168\u79fb\u884c\u3057\u305fBacklog\u306e\u300cPlay\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300d\u9023\u8f09\u7b2c4\u56de\u76ee\u306f\u300cJVM\u3067\u8d77\u3053\u3063\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u306e\u5207\u308a\u5206\u3051\u65b9\u300d\u3092\u30c6\u30fc\u30de\u306b\u3001OutOfMemorryError\u306e\u767a\u751f\u3084CPU\u4f7f\u7528\u7387\u306a\u3069\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584\u306e\u305f\u3081\u306b\u5b9f\u65bd\u3057\u305f\u8abf\u67fb\u65b9\u6cd5\u3092\u5c4a\u3051\u3057\u307e\u3059\u3002","og_url":"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/","og_site_name":"Backlog.com (JA)","article_published_time":"2019-10-23T01:58:06+00:00","article_modified_time":"2024-08-06T05:25:36+00:00","og_image":[{"width":1360,"height":900,"url":"https:\/\/backlog.com\/wp-blog-app\/uploads\/sites\/6\/2019\/10\/8f7c2f5fbd88e4f8a326acf6a87b2d0e.png","type":"image\/png"}],"author":"tanimoto","twitter_misc":{"Written by":"tanimoto","Est. reading time":"33 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/","url":"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/","name":"JVM\u4e0a\u3067\u52d5\u304fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u98df\u3044\u3064\u3076\u3059\u539f\u56e0\u3092\u63a2\u308b\u305f\u3081\u306b\u3084\u3063\u305f\u3053\u3068\u3010Backlog Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3011 | Backlog\u30d6\u30ed\u30b0","isPartOf":{"@id":"https:\/\/backlog.com\/ja\/#website"},"datePublished":"2019-10-23T01:58:06+00:00","dateModified":"2024-08-06T05:25:36+00:00","author":{"@id":"https:\/\/backlog.com\/ja\/#\/schema\/person\/3e5a735610d1f17d3b9c2116ebaee350"},"description":"Java\u304b\u3089Scala \/ Play Framework\u306b\u5b8c\u5168\u79fb\u884c\u3057\u305fBacklog\u306e\u300cPlay\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u300d\u9023\u8f09\u7b2c4\u56de\u76ee\u306f\u300cJVM\u3067\u8d77\u3053\u3063\u305f\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u554f\u984c\u306e\u5207\u308a\u5206\u3051\u65b9\u300d\u3092\u30c6\u30fc\u30de\u306b\u3001OutOfMemorryError\u306e\u767a\u751f\u3084CPU\u4f7f\u7528\u7387\u306a\u3069\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6539\u5584\u306e\u305f\u3081\u306b\u5b9f\u65bd\u3057\u305f\u8abf\u67fb\u65b9\u6cd5\u3092\u5c4a\u3051\u3057\u307e\u3059\u3002","breadcrumb":{"@id":"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/backlog.com\/ja\/blog\/java-virtual-machine-system-performance-survey\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/backlog.com\/ja\/"},{"@type":"ListItem","position":2,"name":"JVM\u4e0a\u3067\u52d5\u304fWeb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30ea\u30bd\u30fc\u30b9\u3092\u98df\u3044\u3064\u3076\u3059\u539f\u56e0\u3092\u63a2\u308b\u305f\u3081\u306b\u3084\u3063\u305f\u3053\u3068\u3010Backlog Play\u5316\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3011"}]},{"@type":"WebSite","@id":"https:\/\/backlog.com\/ja\/#website","url":"https:\/\/backlog.com\/ja\/","name":"Backlog.com (JA)","description":"\u30c1\u30fc\u30e0\u3067\u4f7f\u3046\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u7ba1\u7406\u30fb\u30bf\u30b9\u30af\u7ba1\u7406\u30c4\u30fc\u30ebBacklog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/backlog.com\/ja\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/backlog.com\/ja\/#\/schema\/person\/3e5a735610d1f17d3b9c2116ebaee350","name":"tanimoto","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/backlog.com\/ja\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c0a1b8d039afd646a096e49ca0cbc621?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c0a1b8d039afd646a096e49ca0cbc621?s=96&d=mm&r=g","caption":"tanimoto"}}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/posts\/126012"}],"collection":[{"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/users\/118"}],"replies":[{"embeddable":true,"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/comments?post=126012"}],"version-history":[{"count":27,"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/posts\/126012\/revisions"}],"predecessor-version":[{"id":135995,"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/posts\/126012\/revisions\/135995"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/media\/126066"}],"wp:attachment":[{"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/media?parent=126012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/categories?post=126012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/tags?post=126012"},{"taxonomy":"storyline","embeddable":true,"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/storyline?post=126012"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/backlog.com\/ja\/wp-json\/wp\/v2\/topic?post=126012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}