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 анонимных

			
			
				
				
				