Я только начал проект, который продолжается уже несколько лет. Он использует интерфейс Microsoft PSAPI для получения данных памяти. Более конкретно, мы используем GetProcessMemoryInfo()
.
Я начал работать над этим, предполагая, что данные, которые мы собрали, были сохранены в двоичной записи (т. Е. Килобайт составляет 1024 байта). Но я заметил, что все, что уже написано, было при условии, что данные были в десятичной записи (килобайт — 1000 байтов). Когда я спросил об этом, никто не знал, в какой форме данные были на самом деле, и до сих пор мои поиски в Google не пролили свет на это.
Редактировать: после выбора ответа: Итак, у меня просто возникло недоразумение о том, что байт был в десятичной по сравнению с двоичным (например, это одно и то же). Меня просто никто не удивил, что я тут спросил, поправил меня. В любом случае, спасибо за разъяснение.
Этот API возвращает количество байтов. Другими словами, вопрос основан на ложной предпосылке, что значения возвращаются в килобайтах. Различие между двоичными и десятичными величинами, которое вы упоминаете, относится к килобайтам, мегабайтам, гигабайтам и т. Д. Это бессмысленное различие для байтов.
Документация может быть найдена здесь:
Вы увидите членов этих структур, описанных так:
PeakWorkingSetSize
Пиковый размер рабочего набора в байтах.
Я включил только один пример, но они все имеют одинаковую форму.
Теперь, если вы решите представить эти значения в килобайтах или мегабайтах, или как угодно, у вас есть свобода использовать любое определение, которое вы выберете.
Других решений пока нет …