У меня когда-то была задача определить следующие параметры производительности внутри запущенного приложения:
- Доступная общая виртуальная память
- Используемая виртуальная память
- Виртуальная память, используемая в настоящее время моим процессом
- Доступная общая оперативная память
- Используемая оперативная память
- Оперативная память, используемая в настоящее время в моем процессе
- % Используемый в настоящее время процессор
- % Процессор, используемый в настоящее время в моем процессе
Код должен был запускаться в Windows и Linux. Несмотря на то, что это кажется стандартной задачей, поиск необходимой информации в руководствах (WIN32 API, GNU docs), а также в Интернете занял у меня несколько дней, потому что так много неполной/неправильной/устаревшей информации по этой теме узнал там.
Чтобы спасти других от той же проблемы, я подумал, что было бы неплохо собрать всю разрозненную информацию и то, что я обнаружил в результате проб и ошибок здесь, в одном месте.