<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>KB-1248 How to address high memory usage in self-managed Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>KB-1248 How to address high memory usage in self-managed Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments</link><pubDate>Mon, 24 Nov 2025 20:05:54 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>pauline.delacruz</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Current Revision posted to Appian Knowledge Base by pauline.delacruz on 11/24/2025 8:05:54 PM&lt;br /&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Task Manager&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(Windows) or the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;top&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;java&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;process of the application server can indicate a potential memory leak. Review the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;system.csv&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/support/w/kb/3550/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For each of the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;k&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;processes in the process list,&amp;nbsp;review the command path to identify the corresponding engine. Several cleanup activities may be required depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Proceed with caution when performing any cleanup activities described below. Ensure that any objects or versions are truly no longer needed before removing them. Contact Appian Technical Support if you have questions or encounter any issues during the process.&lt;/p&gt;
&lt;p&gt;A&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;restart of the environment is required&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;after cleanup operations to release freed memory and obtain accurate current memory usage.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines (adb pe)&lt;/h4&gt;
&lt;p data-start="190" data-end="312"&gt;Memory usage for the execution engines is tied to the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong data-start="244" data-end="281"&gt;total number of process instances&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in the environment, including:&lt;/p&gt;
&lt;ul data-start="314" data-end="447"&gt;
&lt;li data-start="314" data-end="339"&gt;
&lt;p data-start="316" data-end="339"&gt;&lt;strong data-start="316" data-end="327"&gt;Running&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;processes&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="340" data-end="367"&gt;
&lt;p data-start="342" data-end="367"&gt;&lt;strong data-start="342" data-end="355"&gt;Completed&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;processes&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="368" data-end="407"&gt;
&lt;p data-start="370" data-end="407"&gt;&lt;strong data-start="370" data-end="382"&gt;Inactive&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;or&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong data-start="386" data-end="395"&gt;stale&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;processes&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="408" data-end="447"&gt;
&lt;p data-start="410" data-end="447"&gt;&lt;strong data-start="410" data-end="424"&gt;Unarchived&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;historical processes&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of these remain loaded in execution-engine memory until they are archived or deleted.&lt;/p&gt;
&lt;h4&gt;&lt;span&gt;Recommended Cleanup Actions&lt;/span&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li data-start="576" data-end="679"&gt;
&lt;p data-start="578" data-end="679"&gt;Review and clean up process instances by&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong data-start="619" data-end="644"&gt;archiving or deleting&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;those that are no longer needed.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="680" data-end="948"&gt;
&lt;p data-start="682" data-end="767"&gt;Use the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/w/the-appian-playbook/90/appian-health-check"&gt;Appian Health Check report&lt;/a&gt;&lt;strong data-start="690" data-end="720"&gt;&amp;nbsp;&lt;/strong&gt;specifically the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;em data-start="738" data-end="746"&gt;Sizing&lt;/em&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;section to identify:&lt;/p&gt;
&lt;ul data-start="770" data-end="948"&gt;
&lt;li data-start="770" data-end="829"&gt;
&lt;p data-start="772" data-end="829"&gt;Process models that generate large volumes of instances&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="832" data-end="884"&gt;
&lt;p data-start="834" data-end="884"&gt;Processes with unusually large memory footprints&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="887" data-end="948"&gt;
&lt;p data-start="889" data-end="948"&gt;Areas where process cleanup will have the greatest impact&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Memory Impact of Process Variables&lt;/h4&gt;
&lt;p data-start="993" data-end="1198"&gt;Execution-engine memory is also heavily affected by the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong data-start="1049" data-end="1084"&gt;size of process variables (PVs)&lt;/strong&gt;. Appian allocates memory based on the values of PVs even for completed processes that have not yet been archived.&lt;/p&gt;
&lt;p data-start="1200" data-end="1219"&gt;&lt;strong data-start="1200" data-end="1219"&gt;Best Practices:&lt;/strong&gt;&lt;/p&gt;
&lt;ul data-start="1220" data-end="1504"&gt;
&lt;li data-start="1220" data-end="1331"&gt;
&lt;p data-start="1222" data-end="1331"&gt;Avoid storing&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong data-start="1236" data-end="1253"&gt;large strings&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(e.g., Base64-encoded data, large JSON/XML payloads) in PVs or node inputs.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1332" data-end="1427"&gt;
&lt;p data-start="1334" data-end="1427"&gt;Store large content in a&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong data-start="1359" data-end="1371"&gt;document&lt;/strong&gt;, database table, or external storage service instead.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1428" data-end="1504"&gt;
&lt;p data-start="1430" data-end="1504"&gt;Keep PVs small and structured where possible to minimize memory retention.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines (adb pa)&lt;/h4&gt;
&lt;p&gt;The analytics engines maintain aggregated data for process instances, so their memory usage is typically correlated with the execution engines.&lt;/p&gt;
&lt;h4 id="mcetoc_1jahhmufd3" data-start="1651" data-end="1679"&gt;Recommended Approach&lt;/h4&gt;
&lt;ol data-start="1680" data-end="2158"&gt;
&lt;li data-start="1680" data-end="1758"&gt;
&lt;p data-start="1683" data-end="1758"&gt;&lt;strong data-start="1683" data-end="1738"&gt;Perform cleanup on execution-engine processes first&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(archive/delete).&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1759" data-end="1900"&gt;
&lt;p data-start="1762" data-end="1900"&gt;Review the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/w/the-appian-playbook/90/appian-health-check"&gt;Health Check report&lt;/a&gt;&amp;nbsp;for analytics-related findings (e.g., oversized analytics caches or unusually large process volumes).&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="1901" data-end="2158"&gt;
&lt;p data-start="1904" data-end="1937"&gt;&lt;strong data-start="1904" data-end="1934"&gt;Perform an&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-self-managed-installations-of-appian"&gt;Analytics Reset&lt;/a&gt;&lt;/strong&gt;&lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-self-managed-installations-of-appian"&gt;.&lt;/a&gt;&lt;/p&gt;
&lt;ul data-start="1941" data-end="2158"&gt;
&lt;li data-start="1941" data-end="2035"&gt;
&lt;p data-start="1943" data-end="2035"&gt;This is a key step in releasing stale analytics data and rebuilding the analytics indexes.&lt;/p&gt;
&lt;/li&gt;
&lt;li data-start="2039" data-end="2158"&gt;
&lt;p data-start="2041" data-end="2158"&gt;An analytics reset typically reduces PA engine memory significantly once underlying process data has been cleaned up.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-start="2160" data-end="2314"&gt;If memory usage remains high after cleanup and an analytics reset, contact Appian Technical Support for deeper analysis or specialized cleanup operations.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/b/appmarket/posts/process-model-utilities"&gt;Process Model Utilities&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;adb n&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;adb s&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;adb stat&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/w/the-appian-playbook/220/creating-memory-efficient-models" rel="noopener noreferrer" target="_blank"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Configuring_the_Process_Engine_Servers.html#max_exec_engine_load_metric"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;November 2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: self-managed, administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in self-managed Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/16</link><pubDate>Thu, 02 Nov 2023 21:23:49 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>pauline.delacruz</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 16 posted to Appian Knowledge Base by pauline.delacruz on 11/2/2023 9:23:49 PM&lt;br /&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="/w/the-appian-playbook/90/appian-health-check"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;p&gt;As a best practice, avoid saving long strings (such as base64 encoded strings) as process variables or node inputs. These long strings consume execution engine memory. Instead, consider saving the strings to a database or call a web service and save the strings as documents.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-self-managed-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="/b/appmarket/posts/process-model-utilities"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="/w/the-appian-playbook/220/creating-memory-efficient-models" rel="noopener noreferrer" target="_blank"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/latest/Configuring_the_Process_Engine_Servers.html#max_exec_engine_load_metric"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/latest/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/latest/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: May 2018&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: self-managed, administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in self-managed Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/15</link><pubDate>Fri, 29 Sep 2023 03:25:13 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Maggie Deppe-Walker</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 15 posted to Appian Knowledge Base by Maggie Deppe-Walker on 9/29/2023 3:25:13 AM&lt;br /&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="/w/the-appian-playbook/90/appian-health-check"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;p&gt;As a best practice, avoid saving long strings (such as base64 encoded strings) as process variables or node inputs. These long strings consume execution engine memory. Instead, consider saving the strings to a database or call a web service and save the strings as documents.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-self-managed-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/sites/shared-components/page/shared-components/record/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="/w/the-appian-playbook/220/creating-memory-efficient-models" rel="noopener noreferrer" target="_blank"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/latest/Configuring_the_Process_Engine_Servers.html#max_exec_engine_load_metric"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/latest/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/latest/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: May 2018&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: self-managed, administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in self-managed Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/14</link><pubDate>Tue, 29 Sep 2020 03:07:20 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 14 posted to Appian Knowledge Base by Parmida Borhani on 9/29/2020 3:07:20 AM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="/w/the-appian-playbook/90/appian-health-check"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;p&gt;As a best practice, avoid saving long strings (such as base64 encoded strings) as process variables or node inputs. These long strings consume execution engine memory. Instead, consider saving the strings to a database or call a web service and save the strings as documents.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-self-managed-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/sites/shared-components/page/shared-components/record/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="/w/the-appian-playbook/220/creating-memory-efficient-models" rel="noopener noreferrer" target="_blank"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/latest/Configuring_the_Process_Engine_Servers.html#max_exec_engine_load_metric"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/latest/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/latest/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed: May 2018&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: self-managed, administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in self-managed Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/13</link><pubDate>Thu, 10 May 2018 22:10:57 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 13 posted to Appian Knowledge Base by Parmida Borhani on 5/10/2018 10:10:57 PM&lt;br /&gt;
&lt;div class="row content_container"&gt; &lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt; &lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt; &lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt; &lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt; &lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt; &lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt; &lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt; &lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt; &lt;h3 id="engines"&gt;Engines&lt;/h3&gt; &lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt; &lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt; &lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt; &lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="/w/the-appian-playbook/90/appian-health-check"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt; &lt;p&gt;As a best practice, avoid saving long strings (such as base64 encoded strings) as process variables or node inputs. These long strings consume execution engine memory. Instead, consider saving the strings to a database or call a web service and save the strings as documents.&lt;/p&gt; &lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt; &lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-self-managed-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt; &lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt; &lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt; &lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/sites/shared-components/page/shared-components/record/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt; &lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt; &lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt; &lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt; &lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt; &lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt; &lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt; &lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt; &lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt; &lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt; &lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="/w/the-appian-playbook/220/creating-memory-efficient-models" target="_blank"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/latest/Configuring_the_Process_Engine_Servers.html#max_exec_engine_load_metric"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/latest/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt; &lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/latest/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt; &lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt; &lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt; &lt;/div&gt; &lt;p&gt;Last Reviewed: May 2018&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/12</link><pubDate>Thu, 10 May 2018 22:09:41 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 12 posted to Appian Knowledge Base by Parmida Borhani on 5/10/2018 10:09:41 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="/w/the-appian-playbook/90/appian-health-check"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;p&gt;As a best practice, avoid saving long strings (such as base64 encoded strings) as process variables or node inputs. These long strings consume execution engine memory. Instead, consider saving the strings to a database or call a web service and save the strings as documents.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/sites/shared-components/page/shared-components/record/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="/w/the-appian-playbook/220/creating-memory-efficient-models" target="_blank"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/latest/Configuring_the_Process_Engine_Servers.html#max_exec_engine_load_metric"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/latest/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/latest/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed: November 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/11</link><pubDate>Wed, 29 Nov 2017 08:23:59 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Nick Vigilante</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 11 posted to Appian Knowledge Base by Nick Vigilante on 11/29/2017 8:23:59 AM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="/w/the-appian-playbook/90/appian-health-check"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/sites/shared-components/page/shared-components/record/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="/w/the-appian-playbook/220/creating-memory-efficient-models" target="_blank"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/latest/Configuring_the_Process_Engine_Servers.html#max_exec_engine_load_metric"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/latest/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/latest/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed: November 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/10</link><pubDate>Tue, 28 Nov 2017 17:39:07 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 10 posted to Appian Knowledge Base by Parmida Borhani on 11/28/2017 5:39:07 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="/w/the-appian-playbook/90/appian-health-check"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/sites/shared-components/page/shared-components/record/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/latest/Configuring_the_Process_Engine_Servers.html#max_exec_engine_load_metric"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/latest/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/latest/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed: November 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/9</link><pubDate>Tue, 28 Nov 2017 17:35:38 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 9 posted to Appian Knowledge Base by Parmida Borhani on 11/28/2017 5:35:38 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="https://docs.appian.com/suite/help/17.1/Appian_Health_Check.md"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/tempo/records/item/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/latest/Configuring_the_Process_Engine_Servers.html#max_exec_engine_load_metric"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/latest/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/latest/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;March 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/8</link><pubDate>Tue, 28 Nov 2017 17:33:35 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 8 posted to Appian Knowledge Base by Parmida Borhani on 11/28/2017 5:33:35 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="https://docs.appian.com/suite/help/17.1/Appian_Health_Check.md"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/tempo/records/item/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/17.1/Configuring_the_Process_Engine_Servers.html#MAX_EXEC_ENGINE_LOAD_METRIC"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/17.1/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/17.1/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;March 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/7</link><pubDate>Tue, 28 Nov 2017 17:32:08 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 7 posted to Appian Knowledge Base by Parmida Borhani on 11/28/2017 5:32:08 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://https//docs.appian.com/suite/help/latest/Search_Server.html#sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="https://docs.appian.com/suite/help/17.1/Appian_Health_Check.md"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/tempo/records/item/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/17.1/Configuring_the_Process_Engine_Servers.html#MAX_EXEC_ENGINE_LOAD_METRIC"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/17.1/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/17.1/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;March 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/6</link><pubDate>Thu, 09 Nov 2017 22:31:32 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Parmida Borhani</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 6 posted to Appian Knowledge Base by Parmida Borhani on 11/9/2017 10:31:32 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the class loader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/17.1/Search_Server.html#Sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="https://docs.appian.com/suite/help/17.1/Appian_Health_Check.md"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/tempo/records/item/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/17.1/Configuring_the_Process_Engine_Servers.html#MAX_EXEC_ENGINE_LOAD_METRIC"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/17.1/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/17.1/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;March 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/5</link><pubDate>Tue, 24 Oct 2017 11:03:34 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Nick Vigilante</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 5 posted to Appian Knowledge Base by Nick Vigilante on 10/24/2017 11:03:34 AM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Running&amp;nbsp;&lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt;&amp;nbsp;should be performed during off-peak business hours during a scheduled outage. Running this command locks the cloassloader in the application server and renders it unresponsive while the command is executing.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/17.1/Search_Server.html#Sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="https://docs.appian.com/suite/help/17.1/Appian_Health_Check.md"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/tempo/records/item/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/17.1/Configuring_the_Process_Engine_Servers.html#MAX_EXEC_ENGINE_LOAD_METRIC"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/17.1/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/17.1/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;March 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/4</link><pubDate>Thu, 01 Jun 2017 15:51:04 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Nick Vigilante</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 4 posted to Appian Knowledge Base by Nick Vigilante on 6/1/2017 3:51:04 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/17.1/Search_Server.html#Sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="https://docs.appian.com/suite/help/17.1/Appian_Health_Check.md"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/tempo/records/item/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Process model versions should only be deleted in non-production environments where processes are seldom or never unarchived. If you attempt to unarchive a process for a version of a process model that doesn&amp;#39;t exist in this engine and if there are no running instances of that process model for that specific version, then you will be unable to successfully unarchive that process.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/17.1/Configuring_the_Process_Engine_Servers.html#MAX_EXEC_ENGINE_LOAD_METRIC"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/17.1/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/17.1/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;March 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/3</link><pubDate>Fri, 17 Mar 2017 16:13:37 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Nick Vigilante</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 3 posted to Appian Knowledge Base by Nick Vigilante on 3/17/2017 4:13:37 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/17.1/Search_Server.html#Sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="https://docs.appian.com/suite/help/17.1/Appian_Health_Check.md"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/tempo/records/item/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/17.1/Configuring_the_Process_Engine_Servers.html#MAX_EXEC_ENGINE_LOAD_METRIC"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/17.1/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/17.1/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you went through all the steps in this KB article but the system is still running high on memory, feel free to add additional memory to the system.&lt;/p&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;March 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/1</link><pubDate>Mon, 06 Mar 2017 22:47:24 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Nick Vigilante</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 1 posted to Appian Knowledge Base by Nick Vigilante on 3/6/2017 10:47:24 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/17.1/Search_Server.html#Sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="https://docs.appian.com/suite/help/17.1/Appian_Health_Check.md"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/tempo/records/item/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/17.1/Configuring_the_Process_Engine_Servers.html#MAX_EXEC_ENGINE_LOAD_METRIC"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/17.1/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/17.1/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;March 2017&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory&lt;/div&gt;
</description></item><item><title>KB-1248 How to address high memory usage in on-premise Appian environments</title><link>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments/revision/2</link><pubDate>Mon, 06 Mar 2017 17:47:37 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:022457a0-944d-45e8-9b0e-0efb5485cf3c</guid><dc:creator>Nick Vigilante</dc:creator><comments>https://community.appian.com/support/w/kb/463/kb-1248-how-to-address-high-memory-usage-in-self-managed-appian-environments#comments</comments><description>Revision 2 posted to Appian Knowledge Base by Nick Vigilante on 3/6/2017 5:47:37 PM&lt;br /&gt;
&lt;div class="row content_container"&gt;
&lt;p&gt;This article details root causes as well as corrective actions to be taken in situations where an Appian environment is experiencing higher than normal memory usage. In addition, some strategies to optimize and control memory usage in Appian environments are also listed.&lt;/p&gt;
&lt;h2 id="managing-high-memory-usage"&gt;Managing high memory usage&lt;/h2&gt;
&lt;p&gt;Using the &lt;strong&gt;Task Manager&lt;/strong&gt; (Windows) or the &lt;code&gt;top&lt;/code&gt; command (Unix) and making sure that the command path is enabled, review the currently active OS processes sorted by individual memory usage and identify one or more processes consuming the most memory. In Appian environments specifically, the top memory consumers are usually those that are listed below:&lt;/p&gt;
&lt;h3 id="application-server"&gt;Application Server&lt;/h3&gt;
&lt;p&gt;An increase in memory usage for the &lt;code&gt;java&lt;/code&gt; process of the application server can indicate a potential memory leak. Review the &lt;strong&gt;system.csv&lt;/strong&gt; file to analyze the heap used vs. heap available for an increasing trend. A heap dump is also helpful to detect a leak as well as its root cause. Steps to collect a heap dump can be found in &lt;a href="/support/w/kb/393/kb-1176-how-to-generate-a-java-heap-dump"&gt;KB-1176&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the heap space, a leak may also occur in the metaspace region. Typically this happens due to excessive class loading or a large number of static imports from custom plug-ins. Use &lt;code&gt;jmap -histo &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; and &lt;code&gt;jmap -clstats &amp;lt;JAVA_PROCESS_ID&amp;gt;&lt;/code&gt; to get information on class loader statistics to determine if this is the case.&lt;/p&gt;
&lt;p&gt;If there are no memory leaks then the increase may be due to legitimate activity on the environment.&lt;/p&gt;
&lt;h3 id="search-server"&gt;Search Server&lt;/h3&gt;
&lt;p&gt;An increase in search server memory usage can be caused due to excessively large frequency of rule executions within the environment. This may be alleviated either partially or completely by recreating the search indices. Steps on how to do this can be found in the action section of &lt;a href="/support/w/kb/306/kb-1082-issues-related-to-search-server-indices"&gt;KB-1082&lt;/a&gt;. If there is no significant reduction then this increase may be legitimate. In such cases, consider &lt;a href="https://docs.appian.com/suite/help/17.1/Search_Server.html#Sizing"&gt;re-sizing&lt;/a&gt; the search server.&lt;/p&gt;
&lt;h3 id="engines"&gt;Engines&lt;/h3&gt;
&lt;p&gt;For &lt;strong&gt;k&lt;/strong&gt; processes in the process list, review the command path to identify the corresponding engine. There are a number of cleanup activities to be done depending on which engines are experiencing high memory usage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Proceed with caution when exercising any of the cleanup activities described. Ensure that any objects/versions are in fact no longer needed or used before removing them. Reach out to Appian Technical Support for any questions or issues at any stage.&lt;/p&gt;
&lt;p&gt;A restart of the environment is required after cleanup operations to release the freed up memory and obtain the current memory usage accurately.&lt;/p&gt;
&lt;h4 id="process-execution-engines"&gt;Process Execution Engines&lt;/h4&gt;
&lt;p&gt;Processes with &lt;strong&gt;adb pe&lt;/strong&gt; in the command path correspond to the execution engines. A cleanup (archiving or deleting) of processes in the environment is the best way to reduce memory usage for these engines. Use the &lt;strong&gt;sizing&lt;/strong&gt; section of the &lt;a href="https://docs.appian.com/suite/help/17.1/Appian_Health_Check.md"&gt;health check report&lt;/a&gt; to identify Appian processes that have the highest resource consumption.&lt;/p&gt;
&lt;h4 id="process-analytics-engines"&gt;Process Analytics Engines&lt;/h4&gt;
&lt;p&gt;Processes of type &lt;strong&gt;adb pa&lt;/strong&gt; are the analytics engines. In most cases, analytics size is linked to execution engines so this is typically addressed by following the above steps for execution engines followed by an &lt;a href="/support/w/kb/374/kb-1157-how-to-reset-the-analytics-engines-for-on-premise-installations-of-appian"&gt;Analytics reset&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If the high memory usage persists, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h4 id="process-design-engine"&gt;Process Design Engine&lt;/h4&gt;
&lt;p&gt;The design engine is the process of type &lt;strong&gt;adb pd&lt;/strong&gt;. A high memory on this engine indicates a large number of design objects such as data types or process models and their versions. A cleanup of these objects is the best way to bring down the memory usage for this engine.&lt;/p&gt;
&lt;p&gt;While data types and process models need to be cleaned up manually, process model versions can be deleted in bulk using the &lt;a href="https://forum.appian.com/suite/tempo/records/item/lMBCLGOdlMUpdGVqW3dQaIKmclBmvvNEj8vu_cjb7T-5YiPr4Fu8ly5Yj1s09uenE4RYzA8zKyx7eiUhuivLnNMcgflBbyX4iUCevGDMzJSDiMhiQ/view/summary"&gt;Process Model Utilities&lt;/a&gt; shared component. In general, the recommendation is not to have more than 100 versions per process model.&lt;/p&gt;
&lt;h4 id="collaboration-engine"&gt;Collaboration Engine&lt;/h4&gt;
&lt;p&gt;For the collaboration engine &lt;strong&gt;adb dc&lt;/strong&gt;, the cleanup needs to be done for content objects (e.g., rules or constants) and their versions. More information on the possible causes can be found in &lt;a href="/support/w/kb/441/kb-1226-content-collaboration-engine-consumes-high-memory"&gt;KB-1226&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition to a manual cleanup, Appian Technical Support may be able to assist with identifying and removing objects and/or versions in bulk.&lt;/p&gt;
&lt;h4 id="notification-notification-email-engines"&gt;Notification &amp;amp; Notification Email Engines&lt;/h4&gt;
&lt;p&gt;It is also rare for these two processes &lt;strong&gt;adb n&lt;/strong&gt; and &lt;strong&gt;adb s&lt;/strong&gt; to use an excessively large amount of memory, however this can happen when there are a large number of alerts in the environment for one or more users. Should this be the case, contact Appian Technical Support to coordinate the necessary actions to bring the size of these engines down.&lt;/p&gt;
&lt;h4 id="collaboration-statistics-engine"&gt;Collaboration Statistics Engine&lt;/h4&gt;
&lt;p&gt;It is unusual for collaboration statistics &lt;strong&gt;adb stat&lt;/strong&gt; to consume a large amount of memory but this can happen due to a large frequency of document downloads. To coordinate the necessary cleanup operations to reduce the memory usage for this engine, contact Appian Technical Support.&lt;/p&gt;
&lt;h4 id="other-appian-process"&gt;Other Appian Processes&lt;/h4&gt;
&lt;p&gt;For any other another Appian process(es) consuming an unusually large amount of RAM, contact Appian Technical Support for assistance.&lt;/p&gt;
&lt;h2 id="optimizing-appian-memory-usage"&gt;Optimizing Appian memory usage&lt;/h2&gt;
&lt;p&gt;Some strategies to proactively control memory usage of Appian environments are listed below:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creating Memory Efficient Models to improve overall performance: &lt;a href="https://docs.appian.com/suite/help/17.1//Creating_Memory_Efficient_Models_Best_Practices.md"&gt;Creating Memory Efficient Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting the load metric property to limit the growth of execution engines: &lt;a href="https://docs.appian.com/suite/help/17.1/Configuring_the_Process_Engine_Servers.html#MAX_EXEC_ENGINE_LOAD_METRIC"&gt;MAX_EXEC_ENGINE_LOAD_METRIC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Optimizing reports to control analytics engines memory usage: &lt;a href="https://docs.appian.com/suite/help/17.1/Report_Performance_Details.html"&gt;Report Performance Details&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Setting appropriate JVM arguments (particularly the &amp;quot;Xmx&amp;quot;) to ensure the application server doesn&amp;#39;t use more memory than what&amp;#39;s required.&lt;/li&gt;
&lt;li&gt;Implementing appropriate auto archival/auto deletion policies for process instances: &lt;a href="https://docs.appian.com/suite/help/17.1/Archiving_Processes.html"&gt;Archiving Processes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="affected-versions"&gt;Affected Versions&lt;/h2&gt;
&lt;p&gt;This article applies to all versions of Appian.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Last Reviewed:&amp;nbsp;March 2017&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: administration, memory, how-to&lt;/div&gt;
</description></item></channel></rss>