Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / для выяснения объема памяти, использованной приложением - / 15 сообщений из 15, страница 1 из 1
26.01.2016, 10:32
    #39155300
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
для выяснения объема памяти, использованной приложением -
на си или с++ есть какойто аналог средствам из .Net-а?
...
Рейтинг: 0 / 0
28.01.2016, 12:08
    #39157309
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
для выяснения объема памяти, использованной приложением -
tchingiz,
тебе нужен тул,утилита или библиотека?
...
Рейтинг: 0 / 0
28.01.2016, 12:09
    #39157311
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
для выяснения объема памяти, использованной приложением -
tchingiz,


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


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

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

наверно, проще классы дотнета пользовать.
...
Рейтинг: 0 / 0
29.01.2016, 22:16
    #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
30.01.2016, 00:17
    #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
30.01.2016, 08:15
    #39159091
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
для выяснения объема памяти, использованной приложением -
tchingiz,


полагаю, тебе нужен объем виртуальной памяти, потребный приложению.
...
Рейтинг: 0 / 0
30.01.2016, 08:22
    #39159093
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
для выяснения объема памяти, использованной приложением -
MasterZiv,
я не скажу на 100 % как это делать, наверное надо какой то пример поискать на эту тему, я думаю, у sysinternals что-то должно быть такое, я уже не м помню сейчас называется утилит, но думаю можно поискать.
У них все утилиты вроде были с исходным кодом
...
Рейтинг: 0 / 0
30.01.2016, 13:07
    #39159151
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
для выяснения объема памяти, использованной приложением -
...
Рейтинг: 0 / 0
30.01.2016, 21:26
    #39159299
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
для выяснения объема памяти, использованной приложением -
eNose,
ну, что тут скажешь?
Хорошо подсказал.
...
Рейтинг: 0 / 0
01.02.2016, 08:22
    #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
01.02.2016, 11:36
    #39159923
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
для выяснения объема памяти, использованной приложением -
eNose,
я при помощи тобой подсказанного GetProcessMemoryInfo,
на два поста выше твоей подсказки уже написал программу.
...
Рейтинг: 0 / 0
01.02.2016, 11:39
    #39159927
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
для выяснения объема памяти, использованной приложением -
MasterZivtchingiz,


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

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

...

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


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