Может кто-то пожалуйста, скажите мне, почему следующие вещи могут случиться:странное замедление между выделенными C++
У меня есть 2 компьютера:
- мой рабочий комп
- Сервер
Я поддерживаю Программа C++ (msvc 2005 C++ скомпилирована), которая работает слишком медленно только на сервере, , но не на моем компьютере.
Я провел измерения (GetThreadTimes и т. Д.) и мог определенно сказать, что узкое место - его распределение памяти (new/malloc). И это происходит только на сервере!
я мог бы утверждать, что это происходит из-за фрагментации памяти из-за 1-го времени экземпляра сервера программы работает отлично, его начало терять время на только после того, как между выделенными данными перезагрузки снова в память (1-1.5 млн ALLOCS/высвобождает).
я не был бы так удивлен, если я вижу такое же поведение, благодаря памяти фрагментации на обоих компьютерах (мой комп и сервер) , но то, что я вижу: 1). на мои ассигнования в команде занимает ~ 5% времени (не точно, а что-то вроде этого) 2). на сервере эти распределения занимают ~ 75% времени
как это могло случиться? Что может замедлить выделение C++ на сервере сервера, пока что его ОК для моей рабочей станции. Где может быть разница? Возможно, что-то связано с функциями управления памятью на уровне OS? , потому что менеджер уровня C++ одинаковый в обоих случаях.
Здесь обе конфигурации:
1). Мой компьютер (где ассигнования занимают ~ 5%):
OS Name: Microsoft Windows 7 Enterprise
OS Version: 6.1.7600 N/A Build 7600
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Workstation
OS Build Type: Multiprocessor Free
Registered Owner: Windows User
Original Install Date: 16/09/2011, 19:37:43
System Boot Time: 05/04/2013, 11:58:11
System Model: 7304A58
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 23 Stepping 10 GenuineIntel ~2642 Mhz
Windows Directory: C:\Windows
System Directory: C:\Windows\system32
Boot Device: \Device\HarddiskVolume2
System Locale: ru;Russian
Input Locale: en-us;English (United States)
Total Physical Memory: 4,061 MB
Available Physical Memory: 872 MB
Virtual Memory: Max Size: 8,121 MB
Virtual Memory: Available: 4,579 MB
Virtual Memory: In Use: 3,542 MB
Page File Location(s): C:\pagefile.sys
2). Сервер (где allocs принимают ~ 75%):
OS Name: Microsoft(R) Windows(R) Server 2003, Enterprise Edition
OS Version: 5.2.3790 Service Pack 2 Build 3790
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Server
OS Build Type: Multiprocessor Free
Original Install Date: 11/12/2008, 01:22:57
System Up Time: 1 Days, 8 Hours, 35 Minutes, 52 Seconds
System Manufacturer: HP
System Model: ProLiant BL685c G5
System Type: X86-based PC
Processor(s): 4 Processor(s) Installed.
[01]: x86 Family 16 Model 2 Stepping 3 AuthenticAMD ~2210 Mhz
[02]: x86 Family 16 Model 2 Stepping 3 AuthenticAMD ~2210 Mhz
[03]: x86 Family 16 Model 2 Stepping 3 AuthenticAMD ~2210 Mhz
[04]: x86 Family 16 Model 2 Stepping 3 AuthenticAMD ~2210 Mhz
Windows Directory: C:\WINNT
System Directory: C:\WINNT\system32
Boot Device: \Device\HarddiskVolume1
Total Physical Memory: 65,534 MB
Available Physical Memory: 61,284 MB
Page File: Max Size: 97,696 MB
Page File: Available: 93,445 MB
Page File: In Use: 4,251 MB
Page File Location(s): C:\pagefile.sys
D:\pagefile1\pagefile.sys
D:\pagefile2\pagefile.sys
D:\pagefile3\pagefile.sys
D:\pagefile4\pagefile.sys
D:\pagefile5\pagefile.sys
D:\pagefile6\pagefile.sys
D:\pagefile7\pagefile.sys
Будет благодарен за разъяснение этой проблемы.
Используете ли вы один и тот же набор данных на обеих машинах? – nneonneo
нет, но сопоставив. мой comp имеет ~ 260 000 предметов на работах плавно, сервер comp испытывает трудности на ~ 350 000 и больше предметов, даже начинает работать даже во время загрузки 1 100 000 предметов. –