Hola, mira la documentación del comando 
top ejecutando  
hay una opción que quizás te interese, "-b". Cuando estés ejecutando 
top, si pulsas la letra 
M mayúscula se ordenan los procesos por el consumo de memoria en orden decreciente (el que más consume el primero). Desconozco cómo podrías obtener eso en tu programa. Siento no poder ayudarte más.  
Saludos,
gonzo13