Man sollte sich mal mit dem Memory Management von Linux auseinander setzen
Linux weißt generell erst mal alles an RAM irgendwelche Anwendungen zu. Warum? Ganz Simpel, der RAM ist schneller als eine Festplatte (Swap). Merkt Linux nun das Anwendung C mehr RAM als Anwendung G und A brauchen, erhalten diese weniger RAM und Anwendung C bekommt mehr - das macht Linux solange bis tatsächlich der Arbeitsspeicher aufgebraucht ist. Sobald Linux den Swap nutzt, sollte man eingreifen - vorher spielt das keine Rolle.
Bei htop ist relevant was als Verbrauch selbst angezeigt wird, der Balken gibt lediglich an wie viel davon Cached ist, buffer, Free etc.
Bei "free -m" muss man etwas rechnen:
total - (free+buffers+cached) = realer Verbrauch oder zumindest in etwa.