Hello Anderson,
Is it possible to collect memory consumption per process (e.g. using ps or top commands) and identify which processes contribute the most to memory consumption?
It is hardly possible for a single Java node to consume so much memory - by default, it is configured to consume up to 4 Gb of heap space, which is normally aligned with 1 Gb of non-heap and approximately 1 Gb of native memory space - all together resulting in around 6 Gb memory consumption.
Thus, it shall be either large amount of Java cluster nodes running on a single host and consuming large amount amount of memory all together, or extensive heap configuration on nodes (combined with several nodes running on a same host), or some other OS processes with are probably not related to Java stack.
After top memory consuming processes are identified, it will be possible to move further with analysis.
You should delete some objects(including deployed objects)
Raghuraman, assuming there were no deviations from SAP defaults / recommendations in Java server nodes configuration and heap initial and maximum sizes are equal, undeployment of applications from Java stack will not solve problem of OS level memory utilization since in that case, Java server nodes will acquire OS memory based on maximum configured entitlement for them. So I absolutely agree with comment provided by Eng Swee regarding undeployment to be unlikely solution for this problem. Even if we assume the worst case and consider many of deployed applications to start on application server startup, this will contribute to heap consumption within server node, but not affect host memory consumption by corresponding server node (since it is already allocated based on heap maximum configuration). And even if heap consumption is high, I would not dare to undeploy Java applications without identifying particular memory problem - e.g. by examining heap dumps and figuring out if heap consumption and configuration can be optimized.
or increase the memory of PI system.
I would rather firstly identify reason for extensive memory consumption and try to resolve it. As I wrote earlier, it is unlikely to be a single server node (or this server node is definitely misconfigured and requires adjustment of memory configuration). And if there are many server nodes running on a single host, then recommendation could be to reconsider distribution of server nodes per host - from maintenance perspective, it is not recommended to run many server nodes on a single host.
And we are not yet confident if it is SAP Java stack at all. Process level breakdown of host memory consumption shall clarify this.
Regards,
Vadim