I am develops guy working for an e-commerce company I am running my e-commerce application built using ruby on rails spree commerce. I am presently running 2 medium instances in the production. One is a high memory instance which has 3.8 RAM and single Core CPU and another one is high CPU instance which has Dual Core CPU. Basically AWS calls it has m1.medium and c1.medium instance respectively. My question is it possible to separate the processes according the cpu intense and memory intense? So that all the cpu intense process can be made run in high cpu instance and all the memory intense process can be made to run in the high memory instances. Is any tool available to identify those process. Kindly give me some heads up. Thank you
it is very rare to separate these things properly, usually a CPU intensive task lives with a memory heavy task perfectly alright on the same box. I guess most of the time the AWS using companies build the most uniform load appliances possible, because you need to use a relatively homogeneous hardware fleet (few special cases (db server)). I would rather try to find out which is the cheapest instance you can run you stack at least 2 times (but 3 is recommended). You can achieve more availability and rather less performance overhead with this way. The tool you need is ps on linux (and on few other OS).
CPU:
MEM:
Please have a look at the fields section of the manpage for more: