Просто здесь, чтобы поделиться своим опытом. В современных операционных системах, как описывают многие из нас, комментаторы, доступ к памяти оптимизирован до такой степени, что простой инструмент пользовательского режима не может значительно улучшить его.
В большинстве современных операционных систем архитектура памяти делится на реальную память и виртуальную память, или подкачку в смысле Linux/unix. Память может быть использована программой, кэшированием или свободна. Память делится на "страницы" для организационных целей. Приоритеты отдаются часто оцениваемым страницам, которые хранятся в реальной памяти. Когда некоторые страницы памяти используются редко, происходит то, что операционная система перемещает их в пространство виртуальной памяти, чтобы обеспечить лучшее использование памяти. Как часто это происходит, зависит от перегрузки системы (на самом деле это параметр, который вы можете установить в опциях ядра Linux!) и затем память может быть использована для лучших целей, например, для другого программного обеспечения, которое требует частого доступа к памяти.
То, что делается этими программами, было объяснено другими выше - выделение большого куска памяти и ее освобождение. Это контрпродуктивно и приведет к тому, что даже часто посещаемые страницы будут выгружены из памяти, и любой дальнейший доступ к этим страницам означает извлечение их из медленных магнитных хранилищ.
В настоящее время большинство ОС выделяет большую часть свободной памяти для использования подсистемой кеширования - и они справляются с этим довольно хорошо. Так что ни в коем случае не пытайтесь изменить поведение, даже если вы долгое время хакеры ядра ...
Большинство книг о системе памяти скажут вам, что свободной памяти. Они очень правильные и помнят, оставляя свободную память в качестве кеша гораздо лучше, чем оставляя их в качестве свободной памяти. Одно предостережение заключается в том, что для интерактивных систем небольшой запас свободной памяти позволил бы улучшить отзывчивость.