Written by GLWS

List the running processes

Include the operating system, web server, application runtime, database and background workers. A small application process can sit beside a database or build job that uses much more memory. Avoid choosing a size from the application name alone.

Look beyond an idle reading

An idle system tells you little about a busy request path. Observe the environment while it serves representative requests or processes a realistic job. On Linux, free and system monitoring tools help distinguish available memory from memory used for caches.

Leave practical headroom

Package updates, deployment builds, logs and temporary workloads can increase demand. Leave room for these tasks and watch for swap use or processes being terminated under pressure. Swap can help with occasional pressure, but it does not make memory-heavy workloads fast.

Choose a measured next step

If memory pressure is the limit, a larger tier may help. If CPU time or remote requests are the limit, extra memory may change little. Record the symptoms and compare after a controlled change. Keep the smallest environment that reliably supports the workload with sensible headroom.