现在我的应用程序托管在具有 12GB RAM 的服务器上。我想更改我的主机,但新的托管服务不提供具有 12GB RAM 的服务器。
我可以选择 8GB,然后下一个计划提供 32GB RAM,这有点过分了,而且成本太高。
有没有办法通过检查我的应用程序在当前服务器上使用了多少内存来知道 8GB 是否足够 RAM?
答案1
您可以用来vmstat
查看机器的一些内存统计信息。检查您的流程ps vax
并查看列RSS(驻留集大小,任务已使用的非交换物理内存)和%MEM了解您的进程所需的内存。
请参阅附注有关列的更多详细信息的联机帮助页。
答案2
在您当前的服务器上,在正常负载下,您可以随时使用 来检查您的总体 RAM 使用情况free -m
。这可能会让您全面了解应用程序正常工作时系统使用的内存量。请记住,输出可能与您想象的不完全一样。
您还可以使用另一个工具,pmap
它的用法是pmap PID
。如果应用程序正在运行多个进程,您可能需要检查所有 PID 并总结最终值。
要获取您的应用程序正在使用的所有 PID,您可以使用pidof APPNAME
更多信息请参见pmap
这里:
https://www.cyberciti.biz/tips/howto-find-memory-used-by-program.html
关于free
命令:
http://www.linuxatemyram.com/