{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "M9K blog: заметки с тегом jcmd",
    "_rss_description": "Заметки обо всём: devops, lifestyle, культура.",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/blog.m9k.space\/tags\/jcmd\/",
    "feed_url": "https:\/\/blog.m9k.space\/tags\/jcmd\/json\/",
    "icon": "https:\/\/blog.m9k.space\/user\/userpic@2x.jpg?1769095194",
    "author": {
        "name": "M",
        "url": "https:\/\/blog.m9k.space\/",
        "avatar": "https:\/\/blog.m9k.space\/user\/userpic@2x.jpg?1769095194"
    },
    "items": [
        {
            "id": "236",
            "url": "https:\/\/blog.m9k.space\/all\/prinuditelny-full-gc-java-processov-po-cron\/",
            "title": "Принудительный Full GC Java-процессов по cron",
            "content_html": "<pre class=\"e2-text-code\"><code class=\"\">0 3 * * * for pid in $(pgrep -u spring -x java); do java_bin=$(readlink -f &quot;\/proc\/$pid\/exe&quot;) &amp;&amp; jcmd=&quot;$(dirname &quot;$java_bin&quot;)\/jcmd&quot; &amp;&amp; [ -x &quot;$jcmd&quot; ] &amp;&amp; &quot;$jcmd&quot; &quot;$pid&quot; GC.run; done &gt;\/dev\/null 2&gt;&amp;1<\/code><\/pre><p>Суть:<\/p>\n<p>pgrep -u spring -x java находит все процессы с именем java, принадлежащие пользователю spring.<\/p>\n<p>Для каждого PID через \/proc\/$pid\/exe определяется реальный исполняемый файл Java.<\/p>\n<p>Рядом с найденным java ищется соответствующий jcmd:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">jcmd=&quot;$(dirname &quot;$java_bin&quot;)\/jcmd&quot;<\/code><\/pre><p>Если jcmd существует и исполняемый, выполняется:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">jcmd PID GC.run<\/code><\/pre><p>Команда инициирует Full GC внутри соответствующей JVM.<\/p>\n<p>jcmd должен иметь возможность подключиться к JVM. Сron следует запускать от пользователя spring или от root. Если jcmd отсутствует рядом с используемым java, эта JVM будет молча пропущена.<\/p>\n",
            "date_published": "2026-09-17T09:57:50+00:00",
            "date_modified": "2026-09-17T09:57:47+00:00",
            "_date_published_rfc2822": "Thu, 17 Sep 2026 09:57:50 +0000",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "236",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3877,
    "_e2_ua_string": "E2 (v3877; Aegea)"
}