Physical Memory
#1
Отправлено 19 октября 2010 - 15:04
Собственно вопрос такой: "Как получить значения Total Physical Memory, Available Physical Memory, System Cache и Used Physical Memory?"
Понятно, что можно все эти значения вытягивать из Task Manager'a, но возможно есть более изящное решение? В ТС8 только нашел как вытащить Used Physical Memory через Sys.MemUsage да и то это только процентное значение, а нужно числовое.
#3
Отправлено 20 октября 2010 - 07:52
var a = Win32API.MEMORYSTATUS();
Win32API.GlobalMemoryStatus(a);
Log.Message
(
"Total Physical Memory: "+a.dwTotalPhys+" bytes\n"+
"Available: "+a.dwAvailPhys+" bytes\n"+
"In use: "+a.dwMemoryLoad+" %"
)
но именно эта функция не всегда может отрабатывать правильно
см http://msdn.microsof...a366586(v=VS.85).aspx
#4
Отправлено 20 октября 2010 - 11:52
#5
Отправлено 15 декабря 2010 - 11:06
VBS, TC 8.10
Мне нужно знать как меняется Physical Memory (в Task Manager).
Я выполняю такой вот нехитрый скрипт:
Set a = Win32API.MEMORYSTATUS Win32API.GlobalMemoryStatus(a) Log.Message("Bytes of physical memory: "&a.dwTotalPhys)В логе вижу след.запись: Bytes of physical memory: 2147483647
Перевожу биты в Гб, получается 1.9. А в Task Manager показывается 2.21 Гб. Почему так получается?
Прикладываю скрин,где выделяю какое значение я бы хотел получить:
taskmsg.JPG 48,23К 17 Количество загрузок:
PS Переводил байты в гигабайты при помощи http://convertr.ru/i...s_to_gibibytes/ .
Или есть способ покруче измерять память (не в процентах)?
#6
Отправлено 15 декабря 2010 - 12:13
Потому что то, что у вас на картинке обведено - это не physical memory, а page file usage.В логе вижу след.запись: Bytes of physical memory: 2147483647
Перевожу биты в Гб, получается 1.9. А в Task Manager показывается 2.21 Гб. Почему так получается?
#7
Отправлено 15 декабря 2010 - 12:38
О как! А кто-нибудь может подсказать, можно ли по PF usage оценивать утечку памяти? Или как это грамотней делать?Потому что то, что у вас на картинке обведено - это не physical memory, а page file usage.В логе вижу след.запись: Bytes of physical memory: 2147483647
Перевожу биты в Гб, получается 1.9. А в Task Manager показывается 2.21 Гб. Почему так получается?
#8
Отправлено 16 декабря 2010 - 09:19
Грамотнее всего использовать профайлер (например AQtime), а не средство для автоматизированного тестирования.
Если хочется просто оценить динамику роста потребления памяти, отслеживайте у процесса тестируемого приложения значение свойства VMSize (Sys.Process("MyApp").VMSize). Можете на каждой итерации теста или по таймеру сбрасывать значение этого свойства в csv файлик, а потом руками открыть его в Excel и построить красивый график. Я так и делаю, когда возникает подобная задача.
Дмитрий
#9
Отправлено 17 декабря 2010 - 09:55
Дмитрий, спасибо, тоже вариант!Здравствуйте.
Грамотнее всего использовать профайлер (например AQtime), а не средство для автоматизированного тестирования.
Если хочется просто оценить динамику роста потребления памяти, отслеживайте у процесса тестируемого приложения значение свойства VMSize (Sys.Process("MyApp").VMSize). Можете на каждой итерации теста или по таймеру сбрасывать значение этого свойства в csv файлик, а потом руками открыть его в Excel и построить красивый график. Я так и делаю, когда возникает подобная задача.
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных