powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / для выяснения объема памяти, использованной приложением -
15 сообщений из 15, страница 1 из 1
для выяснения объема памяти, использованной приложением -
    #39155300
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на си или с++ есть какойто аналог средствам из .Net-а?
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39157309
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz,
тебе нужен тул,утилита или библиотека?
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39157311
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz,


вообще valgrind, oprofile , нет?
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39157316
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivtchingiz,
тебе нужен тул,утилита или библиотека?
видимо, библиотека - из запущенного приложения узнать, сколько памяти оно использует.
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39157323
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivtchingiz,


вообще valgrind, oprofile , нет?

я ж в виндовсе.
а тут пишут, что даже под цигвином нельзя использовать valgrind
http://stackoverflow.com/questions/10256188/can-valgrind-be-used-along-with-cygwin

наверно, проще классы дотнета пользовать.
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39158995
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingizMasterZivtchingiz,


вообще valgrind, oprofile , нет?

я ж в виндовсе.
а тут пишут, что даже под цигвином нельзя использовать valgrind
http://stackoverflow.com/questions/10256188/can-valgrind-be-used-along-with-cygwin

наверно, проще классы дотнета пользовать.

Да ты чё, не...

А какую память ты имеешь в виду, системную ?
Тогда
https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms681926(v=vs.85).aspx

Если CRT, там тоже есть внутри для манипулирования хипом...
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39159042
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пошел по твей ссылке, наверно, эту (pmc.PagefileUsage), обьемы которой видно в диспетчере задач
первая - память, вторая виртуальная память.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
#include<stdio.h>

#define PSAPI_VERSION 1
#pragma comment(lib, "psapi.lib")
#include "windows.h"
#include "Psapi.h"

void main(int argc, char **argv)
{
        PROCESS_MEMORY_COUNTERS pmc;
        PROCESS_MEMORY_COUNTERS pmc1;
        PROCESS_MEMORY_COUNTERS pmc2;
        PROCESS_MEMORY_COUNTERS pmc3;

        GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc));
        printf("\n total  memory %ld/ %ld kB :", pmc.WorkingSetSize/1024, pmc.PagefileUsage/1024); 
    system("pause");

        malloc(10000);

        GetProcessMemoryInfo(GetCurrentProcess(), &pmc1, sizeof(pmc));
        printf("\n diff memory %ld/ %ld/ %ld kB :", pmc1.WorkingSetSize/1024 - pmc.WorkingSetSize/1024
                                           , pmc1.PagefileUsage/1024 - pmc.PagefileUsage/1024); 
        printf("\n total memory %ld/ %ld kB :", pmc1.WorkingSetSize/1024 
                                           , pmc1.PagefileUsage/1024 ); 
    system("pause");

        malloc(100000);
        GetProcessMemoryInfo(GetCurrentProcess(), &pmc2, sizeof(pmc));
        printf("\n diff memory %ld/ %ld/ %ld kB :", pmc2.WorkingSetSize/1024 - pmc1.WorkingSetSize/1024
                                           , pmc2.PagefileUsage/1024 - pmc1.PagefileUsage/1024); 
        printf("\n total memory %ld/ %ld kB :", pmc2.WorkingSetSize/1024 
                                           , pmc2.PagefileUsage/1024 ); 
    system("pause");

        malloc(1000000);
        GetProcessMemoryInfo(GetCurrentProcess(), &pmc3, sizeof(pmc));
        printf("\n diff memory %ld/ %ld kB :", pmc3.WorkingSetSize/1024 - pmc2.WorkingSetSize/1024
                                           , pmc3.PagefileUsage/1024 - pmc2.PagefileUsage/1024);
                                            
        printf("\n total memory %ld/ %ld kB :", pmc3.WorkingSetSize/1024 
                                           , pmc3.PagefileUsage/1024 ); 
    system("pause");
}




The Commit Charge value in bytes for this process. Commit Charge is the total amount of memory that the memory manager has committed for a running process.

это предложение мне ничего не говорит
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39159091
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tchingiz,


полагаю, тебе нужен объем виртуальной памяти, потребный приложению.
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39159093
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
я не скажу на 100 % как это делать, наверное надо какой то пример поискать на эту тему, я думаю, у sysinternals что-то должно быть такое, я уже не м помню сейчас называется утилит, но думаю можно поискать.
У них все утилиты вроде были с исходным кодом
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39159151
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39159299
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose,
ну, что тут скажешь?
Хорошо подсказал.
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39159760
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
tchingiz,

The working set is the amount of memory physically mapped to the process context at a given time.

то есть pmc.WorkingSetSize - оно самое.



но есть тонкость.
даже если ты выделил кусок памяти, то до реального обращения к нему WorkingSetSize не изменится.
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39159923
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eNose,
я при помощи тобой подсказанного GetProcessMemoryInfo,
на два поста выше твоей подсказки уже написал программу.
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39159927
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivtchingiz,


полагаю, тебе нужен объем виртуальной памяти, потребный приложению.
похоже таки да.

У виртуальной памяти - достаточно четкая связь с обьемом мной захваченной.
...
Рейтинг: 0 / 0
для выяснения объема памяти, использованной приложением -
    #39159928
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivА какую память ты имеешь в виду, системную ?

...

Если CRT, там тоже есть внутри для манипулирования хипом...
вообще, говоря я отличаю только статическую, динамическую и автоматическую.
А системая это что?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / для выяснения объема памяти, использованной приложением -
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]