{"id":19120,"date":"2022-09-21T20:35:00","date_gmt":"2022-09-21T18:35:00","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=19120"},"modified":"2022-09-21T16:17:09","modified_gmt":"2022-09-21T14:17:09","slug":"documentum-detect-a-repository-parent-process-being-killed","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/","title":{"rendered":"Documentum &#8211; Detect a Repository parent process being killed"},"content":{"rendered":"\n<p>There could be several reasons why a Linux process gets killed. Of course, it could be someone using the kill command but, in this blog, I will talk about the Kernel Panic triggered by the Operating System in case it runs out of RAM. I had a case recently, at a customer, where a nginx process going wild caused such a behavior. To try to restore itself, the OS kills a process using the &#8220;OOM Killer&#8221;. It analyzes the currently running processes and kill one or more, to urgently free enough resources to stabilize the situation.<\/p>\n\n\n\n<p>The OOM Killer is using some rules to select which process(es) should be killed. It will try to kill as few processes as possible and usually a process that is using a lot of RAM. It is also possible to reduce the likelihood of a process being selected for termination by adjusting the <em>oom_score<\/em> of a process. Now going back to the topic of this blog, when nginx went wild and started using several GBs of RAM, the OOM Killer was obviously triggered but instead of killing nginx itself (nginx having higher <em>oom_score<\/em>\/<em>oom_score_adj<\/em> values and obviously using more RAM than anything else at that time), it killed the &#8220;master&#8221; (main\/top\/parent) process of a Documentum Repository.<\/p>\n\n\n\n<p>While working on a Documentum Server, you will usually have several Documentum processes, all run by the same user: Docbroker, Repository(ies), Java Method Server. Unless you have a specific configuration (adjusting the <em>oom_score<\/em>), it would normally be the JMS that gets killed first because it&#8217;s usually the process using the more RAM. However, in this case, it was neither nginx nor the JMS but instead the master process of the Repository that has been killed and I must say that was a first for me.<\/p>\n\n\n\n<p>Initially, the monitoring reported job execution issue on the Content Server where it happened, the first error being present in the agentexec.log file:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: java; highlight: [4]; title: ; notranslate\" title=\"\">\n&#x5B;dmadmin@cs-2 ~]$ tail -1 $DOCUMENTUM\/dba\/log\/REPO1\/agentexec\/agentexec.log\n...\nThu Jul 21 09:02:21 2022 &#x5B;INFORMATION] &#x5B;LAUNCHER 7734] Detected during program initialization: Version: 16.4.0260.0296  Linux64\nThu Jul 21 09:06:44 2022 &#x5B;ERROR] &#x5B;AGENTEXEC 8383] Detected while processing dead job dm_DataDictionaryPublisher: The job object indicated the job was in progress, but the job was not actually running.  It is likely that the dm_agent_exec utility was stopped while the job was in progress.\n...\n&#x5B;dmadmin@cs-2 ~]$\n<\/pre><\/div>\n\n\n<p>The Repository log obviously showed the same after that time:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\n&#x5B;dmadmin@cs-2 ~]$ cat $DOCUMENTUM\/dba\/log\/cs-2_REPO1.log\n...\n2022-07-21T09:21:46.679046      8406&#x5B;8406]      010f42af83387100        JMS DO_METHOD TRACE LAUNCH: user: dmadmin, session id: 010f42af83387100, JMS id: 080f42af80003d29, method: D2EventSenderMailMethod, host:cs-2, port:9082, path:\/DmMethods\/servlet\/DoMethod, arguments:-method_verb com.emc.d2.api.methods.D2Method -class_name com.emc.d2.api.methods.D2EventSenderMailMethod -launch_async T -__dm_docbase__ REPO1 -__dm_server_config__ cs-2_REPO1 -docbase_name &quot;REPO1&quot; -due_date &quot;none&quot; -event_name &quot;Job_Failure&quot; -message_text &quot;&#x5B;ERROR] &#x5B;AGENTEXEC 8383] Detected while processing dead job dm_DataDictionaryPublisher: The job object indicated the job was in progress, but the job was not actually running.  It is likely that the dm_agent_exec utility was stopped while the job was in progress.&quot; -object_name &quot;dm_DataDictionaryPublisher&quot; ...\n...\n&#x5B;dmadmin@cs-2 ~]$\n<\/pre><\/div>\n\n\n<p>Therefore, my first thought was that this is a &#8220;simple&#8221; AgentExec issue since jobs aren&#8217;t being processed anymore. I like to use the &#8220;ps uxf&#8221; command because it gives a good and easy representation of running processes for the current user, so I mechanically executed it without really thinking that much about it:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [8,26,27,28,29,30,31,32]; title: ; notranslate\" title=\"\">\n&#x5B;dmadmin@cs-2 ~]$ ps uxf\nUSER       PID %CPU %MEM  START   TIME COMMAND\ndmadmin  26432  0.0  0.0  Jul09   0:00 \/bin\/sh $JMS_HOME\/server\/startMethodServer.sh\ndmadmin  26434  0.0  0.0  Jul09   0:00  \\_ \/bin\/sh $JMS_HOME\/bin\/standalone.sh\ndmadmin  26532  1.0  6.9  Jul09  14:40      \\_ $JAVA_HOME\/bin\/java -D&#x5B;Standalone] -server -XX:+UseCompressedOops -server -XX:+UseCompressedOops -Xms8g -Xmx8g -XX:MaxMetaspaceSize=512m -\ndmadmin   7246  0.0  0.0  Jul09  15:16 .\/dmdocbroker -port 1489 -init_file $DOCUMENTUM\/dba\/Docbroker.ini\ndmadmin   7289  0.0  0.0  Jul09   0:41 .\/dmdocbroker -port 1487 -init_file $DOCUMENTUM\/dba\/DocbrokerExt.ini\ndmadmin   7338  0.0  0.1  Jul09   9:30 .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin   8224  0.0  0.0  Jul09   0:43  \\_ $DM_HOME\/bin\/mthdsvr master 0xfd051316, 0x7feca9f4a000, 0x223000 1000776  5 7338 cs-2_GR_REPO $DOCUMENTUM\/dba\/log\ndmadmin   8230  0.0  0.0  Jul09  21:25  |   \\_ $DM_HOME\/bin\/mthdsvr worker 0xfd051316, 0x7feca9f4a000, 0x223000 1000776  5 0 cs-2_GR_REPO $DOCUMENTUM\/dba\/log\ndmadmin   8253  0.0  0.0  Jul09  21:28  |   \\_ $DM_HOME\/bin\/mthdsvr worker 0xfd051316, 0x7feca9f4a000, 0x223000 1000776  5 1 cs-2_GR_REPO $DOCUMENTUM\/dba\/log\ndmadmin   8277  0.0  0.0  Jul09  21:06  |   \\_ $DM_HOME\/bin\/mthdsvr worker 0xfd051316, 0x7feca9f4a000, 0x223000 1000776  5 2 cs-2_GR_REPO $DOCUMENTUM\/dba\/log\ndmadmin   8302  0.0  0.0  Jul09  21:22  |   \\_ $DM_HOME\/bin\/mthdsvr worker 0xfd051316, 0x7feca9f4a000, 0x223000 1000776  5 3 cs-2_GR_REPO $DOCUMENTUM\/dba\/log\ndmadmin   8342  0.0  0.0  Jul09  21:34  |   \\_ $DM_HOME\/bin\/mthdsvr worker 0xfd051316, 0x7feca9f4a000, 0x223000 1000776  5 4 cs-2_GR_REPO $DOCUMENTUM\/dba\/log\ndmadmin   8264  0.0  0.0  Jul09   7:47  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin   8265  0.0  0.0  Jul09   0:06  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin   8290  0.0  0.0  Jul09   0:05  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin   8315  0.0  0.0  Jul09   0:06  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin   8355  0.0  0.0  Jul09   0:17  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin   8357  0.0  0.1  Jul09  23:40  \\_ .\/dm_agent_exec -enable_ha_setup 1 -docbase_name GR_REPO.cs-2_GR_REPO -docbase_owner dmadmin -sleep_duration 0\ndmadmin   8400  0.0  0.0  Jul09   5:43  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin  17396  0.0  0.1  02:42   0:00  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin   1736  0.0  0.1  07:24   0:00  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin  23044  0.0  0.1  09:18   0:00  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin  25962  0.0  0.1  09:26   0:00  \\_ .\/documentum -docbase_name GR_REPO -security acl -init_file $DOCUMENTUM\/dba\/config\/GR_REPO\/server_cs-2_GR_REPO.ini\ndmadmin   8279  0.0  0.0  Jul09   8:51 .\/documentum -docbase_name REPO1 -security acl -init_file $DOCUMENTUM\/dba\/config\/REPO1\/server_cs-2_REPO1.ini\ndmadmin   8280  0.0  0.0  Jul09   0:58 .\/documentum -docbase_name REPO1 -security acl -init_file $DOCUMENTUM\/dba\/config\/REPO1\/server_cs-2_REPO1.ini\ndmadmin   8304  0.0  0.0  Jul09   0:59 .\/documentum -docbase_name REPO1 -security acl -init_file $DOCUMENTUM\/dba\/config\/REPO1\/server_cs-2_REPO1.ini\ndmadmin   8344  0.0  0.0  Jul09   0:57 .\/documentum -docbase_name REPO1 -security acl -init_file $DOCUMENTUM\/dba\/config\/REPO1\/server_cs-2_REPO1.ini\ndmadmin   8379  0.0  0.0  Jul09   0:17 .\/documentum -docbase_name REPO1 -security acl -init_file $DOCUMENTUM\/dba\/config\/REPO1\/server_cs-2_REPO1.ini\ndmadmin   8383  0.0  0.1  Jul09  23:39 .\/dm_agent_exec -enable_ha_setup 1 -docbase_name REPO1.cs-2_REPO1 -docbase_owner dmadmin -sleep_duration 0\ndmadmin   8406  0.0  0.0  Jul09   7:36 .\/documentum -docbase_name REPO1 -security acl -init_file $DOCUMENTUM\/dba\/config\/REPO1\/server_cs-2_REPO1.ini\n&#x5B;dmadmin@cs-2 ~]$\n<\/pre><\/div>\n\n\n<p>Do you see that? When I noticed the outcome, I was quite surprised\u2026 A Repository that is starting will always consists of a master\/main\/top\/parent process using the command &#8220;<em>.\/documentum<\/em>&#8221; (E.g.: <em>7338<\/em> for &#8220;<em>GR_REPO<\/em>&#8220;) and then a bunch of child processes (&#8220;\\<em>_ .\/documentum<\/em>&#8220;) that it launches as needed, to handle user sessions, jobs, aso\u2026 As you can see above, there is indeed this hierarchy for &#8220;<em>GR_REPO<\/em>&#8221; but for the Repository &#8220;<em>REPO1<\/em>&#8220;, all the Documentum processes aren&#8217;t orchestrated by a master process anymore. In addition, you can see that there are no recent processes in execution (check the &#8220;<em>START<\/em>&#8221; column) for &#8220;<em>REPO1<\/em>&#8220;. Both these factors meant, to me, that the main Repository process was most probably killed and that could most likely be the root cause of the issue. In the meantime, the JMS also started printing errors that the local Repository (RCS\/CFS) isn&#8217;t available, but it wouldn&#8217;t prevent it to work because of the High Availability setup. Of course, after checking the OS logs, it was confirmed that the OOM Killer played a role in this issue (because of the nginx using lots of memory). Solving it was as simple as killing the remaining &#8220;<em>REPO1<\/em>&#8221; processes (<em>documentum<\/em> &amp; <em>dm_agent_exec<\/em>) and starting the Repository again.<\/p>\n\n\n\n<p>So, I had this question coming to my mind: what would be the easiest, fastest, and less intrusive way to detect such thing? I could think of three ways to do that.<\/p>\n\n\n\n<p><strong>I.<\/strong> The first one, of course, would be to execute an iAPI\/iDQL command (same thing for a Java DFC check), to make sure that the Repository is responding, which wouldn&#8217;t be the case if the master process is killed. However, that&#8217;s a slow (several seconds) and intrusive way to check since it will create\/use a Documentum session (therefore less sessions usable by real users) and create a log file for this session.<\/p>\n\n\n\n<p>A quick health check script would give the below outcome for this situation:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [7]; title: ; notranslate\" title=\"\">\n&#x5B;dmadmin@cs-2 ~]$ \/scripts\/dbi_health_check.sh\n2022-07-21 09:31:05 UTC - Starting checks\n\n2022-07-21 09:31:06 UTC -   OK   &lt;&lt; Successful reply from Broker:      &#039;Docbroker&#039; (port &#039;1489&#039;, secure)\n2022-07-21 09:31:08 UTC -   OK   &lt;&lt; Successful reply from Broker:      &#039;DocbrokerExt&#039; (port &#039;1487&#039;, secure)\n2022-07-21 09:31:09 UTC -   OK   &lt;&lt; Successful reply from Repo:        &#039;GR_REPO.cs-2_GR_REPO&#039; (iAPI)\n2022-07-21 09:31:40 UTC - NOT OK &lt;&lt; No reply, timeout (30s) on Repo:   &#039;REPO1.cs-2_REPO1&#039; (iAPI)\n2022-07-21 09:31:40 UTC -   OK   &lt;&lt; Successful reply from JMS:         &#039;ServerApps&#039; (port &#039;9082&#039;, https)\n2022-07-21 09:31:40 UTC -   OK   &lt;&lt; Successful reply from JMS:         &#039;ACS&#039; (port &#039;9082&#039;, https)\n\n2022-07-21 09:31:40 UTC - Overall status &gt;&gt; NOT OK\n\n&#x5B;dmadmin@cs-2 ~]$\n<\/pre><\/div>\n\n\n<p><strong>II.<\/strong> The second would be to check the kernel logs. When the OOM Killer terminate a process, it will log it and it&#8217;s possible to access these messages (even without root) through the <em>dmesg<\/em> command (E.g.: <em>dmesg -T | grep -iE &#8216;killed process|oom-killer&#8217;<\/em>). You should be able to see the same through the <em>\/var\/log\/messages<\/em> file but this one usually requires root access. It&#8217;s rather easy and not intrusive to find an issue that way but it does require a little bit of scripting because you will indeed find that a process has been killed, but is it a Documentum process and more specifically the master Repository process? So, why not but I&#8217;m sure we can do better.<\/p>\n\n\n\n<p>The below extract using <em>dmesg<\/em> is totally irrelevant to the issue I&#8217;m talking about in this blog, it&#8217;s just to show what it would look like:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n&#x5B;dmadmin@cs-2 ~]$ dmesg -T | grep -iE &#039;killed process|oom-killer&#039;\n&#x5B;Sun Jul 24 16:35:58 2022] pool-3-thread-9 invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=905\n&#x5B;Sun Jul 24 16:35:58 2022] Killed process 31249 (filebeat), UID 999, total-vm:1732060kB, anon-rss:23872kB, file-rss:19420kB, shmem-rss:0kB\n&#x5B;Sun Jul 24 16:35:58 2022] pool-3-thread-9 invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=905\n&#x5B;Sun Jul 24 16:35:58 2022] Killed process 599 (tail), UID 999, total-vm:5504kB, anon-rss:88kB, file-rss:0kB, shmem-rss:0kB\n&#x5B;Sun Jul 24 16:35:58 2022] pool-3-thread-9 invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=905\n&#x5B;Sun Jul 24 16:35:58 2022] Killed process 29805 (java), UID 999, total-vm:39125556kB, anon-rss:31451436kB, file-rss:12680kB, shmem-rss:0kB\n&#x5B;dmadmin@cs-2 ~]$\n<\/pre><\/div>\n\n\n<p><strong>III.<\/strong> The last thing I could think of was to simply check the Documentum processes themselves. Since it&#8217;s possible to see visually that there is no Master process anymore, then it&#8217;s possible to script it easily. In addition to that, if you look at the above list of processes again, you might notice that there is no &#8220;<em>mthdsvr<\/em>&#8221; processes anymore for the Repository with the issue\u2026<\/p>\n\n\n\n<p>You might already have a quick check that makes sure that the <em>dmdocbroker<\/em> or <em>dm_agent_exec<\/em> processes are present, but it might not detect the issue, for example:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [4,5,7,8]; title: ; notranslate\" title=\"\">\n&#x5B;dmadmin@cs-2 ~]$ docbroker=Docbroker\n&#x5B;dmadmin@cs-2 ~]$ docbase=REPO1\n&#x5B;dmadmin@cs-2 ~]$\n&#x5B;dmadmin@cs-2 ~]$ ps -ef | grep &quot;^${USER}.*dmdocbroker.*init_file.*${docbroker}.ini&quot; | grep -v grep\ndmadmin   7246     1  0 Jul09 ?        00:15:16 .\/dmdocbroker -port 1489 -init_file $DOCUMENTUM\/dba\/Docbroker.ini\n&#x5B;dmadmin@cs-2 ~]$\n&#x5B;dmadmin@cs-2 ~]$ ps -ef | grep &quot;^${USER}.*dm_agent_exec.*-docbase_name ${docbase}\\.&quot; | grep -v grep\ndmadmin   8383     1  0 Jul09 ?        00:23:39 .\/dm_agent_exec -enable_ha_setup 1 -docbase_name REPO1.cs-2_REPO1 -docbase_owner dmadmin -sleep_duration 0\n&#x5B;dmadmin@cs-2 ~]$\n<\/pre><\/div>\n\n\n<p>With the above commands, you will NOT detect this specific issue where the main <em>documentum<\/em> process gets killed. However, as you probably understood if you read this blog, if you are either looking to make sure that the <em>dm_agent_exec<\/em> is a child process or looking at the <em>mthdsvr<\/em> processes, then you can detect the issue. If there are no problems, all commands below should also return one result each, if the issue is present, then the last two commands will not return anything:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [5,6,8,10]; title: ; notranslate\" title=\"\">\n&#x5B;dmadmin@cs-2 ~]$ docbroker=Docbroker\n&#x5B;dmadmin@cs-2 ~]$ docbase=REPO1\n&#x5B;dmadmin@cs-2 ~]$ dm_server_config=$(grep &quot;^server_config_name&#x5B;&#x5B;:space:]]*=&quot; $DOCUMENTUM\/dba\/config\/${docbase}\/server.ini | tail -1 | sed &#039;s,.*=&#x5B;&#x5B;:space:]]*,,&#039;)\n&#x5B;dmadmin@cs-2 ~]$\n&#x5B;dmadmin@cs-2 ~]$ ps uxf | grep &quot;^${USER}.* .\/dmdocbroker.*init_file.*${docbroker}.ini&quot; | grep -v grep\ndmadmin   7246  0.0  0.0 128532 48572 ?        S    Jul09  15:16 .\/dmdocbroker -port 1489 -init_file $DOCUMENTUM\/dba\/Docbroker.ini\n&#x5B;dmadmin@cs-2 ~]$\n&#x5B;dmadmin@cs-2 ~]$ ps uxf | grep &quot;^${USER}.* \\\\\\_ .\/dm_agent_exec.*-docbase_name ${docbase}\\.&quot; | grep -v grep\n&#x5B;dmadmin@cs-2 ~]$\n&#x5B;dmadmin@cs-2 ~]$ ps uxf | grep &quot;^${USER}.* \\\\\\_ .*\/mthdsvr master.* ${dm_server_config}&quot; | grep -v grep\n&#x5B;dmadmin@cs-2 ~]$\n<\/pre><\/div>\n\n\n<p>The above should work on RHEL Operating Systems and probably a bunch of others OS. If you don&#8217;t want to rely on the child\/not child (because &#8220;<em>ps uxf<\/em>&#8221; display might differs), then I believe that just making sure that both the <em>dm_agent_exec<\/em> and the <em>mthdsvr<\/em> master processes are present for a single Repository should be sufficient as well. If the Repository is currently starting and not yet available, then the <em>dm_agent_exec<\/em> process won&#8217;t be present yet and if the issue reproduces, then the <em>mthdsvr<\/em> master process will disappear on its own. I believe that&#8217;s the simplest and fastest way to detect such issue, so that\u2019s what I\u2019m going to use in the future. Of course, this quick check will not replace a real Repository monitoring that uses iAPI\/iDQL\/DFC\/Whatever to connect to the repository and retrieve data from inside the Repository but that\u2019s usually something that you will execute every 15\/30 minute, to not overload your Repository. This one on the other hand is a quick and efficient way to check if processes are still there as they should, in which case, it is a good indication that everything still runs properly.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There could be several reasons why a Linux process gets killed. Of course, it could be someone using the kill command but, in this blog, I will talk about the Kernel Panic triggered by the Operating System in case it runs out of RAM. I had a case recently, at a customer, where a nginx [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197,525],"tags":[2705,2609,2704,2706,1760],"type_dbi":[],"class_list":["post-19120","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","category-enterprise-content-management","tag-dm_agent_exec","tag-documentum-2","tag-nginx","tag-oom-killer","tag-repository"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Documentum - Detect a Repository parent process being killed - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documentum - Detect a Repository parent process being killed\" \/>\n<meta property=\"og:description\" content=\"There could be several reasons why a Linux process gets killed. Of course, it could be someone using the kill command but, in this blog, I will talk about the Kernel Panic triggered by the Operating System in case it runs out of RAM. I had a case recently, at a customer, where a nginx [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-21T18:35:00+00:00\" \/>\n<meta name=\"author\" content=\"Morgan Patou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MorganPatou\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Morgan Patou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/\"},\"author\":{\"name\":\"Morgan Patou\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"headline\":\"Documentum &#8211; Detect a Repository parent process being killed\",\"datePublished\":\"2022-09-21T18:35:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/\"},\"wordCount\":1275,\"commentCount\":0,\"keywords\":[\"dm_agent_exec\",\"Documentum\",\"Nginx\",\"OOM Killer\",\"repository\"],\"articleSection\":[\"Application integration &amp; Middleware\",\"Enterprise content management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/\",\"name\":\"Documentum - Detect a Repository parent process being killed - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2022-09-21T18:35:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentum &#8211; Detect a Repository parent process being killed\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\",\"name\":\"Morgan Patou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"caption\":\"Morgan Patou\"},\"description\":\"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.\",\"sameAs\":[\"https:\/\/blog.dbi-services.com\/author\/morgan-patou\/\",\"https:\/\/x.com\/MorganPatou\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Documentum - Detect a Repository parent process being killed - dbi Blog","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:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/","og_locale":"en_US","og_type":"article","og_title":"Documentum - Detect a Repository parent process being killed","og_description":"There could be several reasons why a Linux process gets killed. Of course, it could be someone using the kill command but, in this blog, I will talk about the Kernel Panic triggered by the Operating System in case it runs out of RAM. I had a case recently, at a customer, where a nginx [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/","og_site_name":"dbi Blog","article_published_time":"2022-09-21T18:35:00+00:00","author":"Morgan Patou","twitter_card":"summary_large_image","twitter_creator":"@MorganPatou","twitter_misc":{"Written by":"Morgan Patou","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/"},"author":{"name":"Morgan Patou","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"headline":"Documentum &#8211; Detect a Repository parent process being killed","datePublished":"2022-09-21T18:35:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/"},"wordCount":1275,"commentCount":0,"keywords":["dm_agent_exec","Documentum","Nginx","OOM Killer","repository"],"articleSection":["Application integration &amp; Middleware","Enterprise content management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/","url":"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/","name":"Documentum - Detect a Repository parent process being killed - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2022-09-21T18:35:00+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-detect-a-repository-parent-process-being-killed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Documentum &#8211; Detect a Repository parent process being killed"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8","name":"Morgan Patou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","caption":"Morgan Patou"},"description":"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.","sameAs":["https:\/\/blog.dbi-services.com\/author\/morgan-patou\/","https:\/\/x.com\/MorganPatou"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/19120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=19120"}],"version-history":[{"count":4,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/19120\/revisions"}],"predecessor-version":[{"id":19124,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/19120\/revisions\/19124"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=19120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=19120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=19120"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=19120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}