Часовой пояс: UTC + 3 часа




Куратор(ы):   meloman_1981   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 2017 • Страница 11 из 101<  1 ... 8  9  10  11  12  13  14 ... 101  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Member
Статус: Не в сети
Регистрация: 01.01.2005
Откуда: Москва
Фото: 2
Обсуждаем проблемы и возможность по установке и использованию 4GB оперативной памяти в операционных системах Windows XP x86, x64 & Windows Vista 32-64bit.

Ответы на самые распространенные вопросы.

Перед тем, как задать вопрос - ВНИМАТЕЛЬНО изучаем две таблички:

#77 #77

Небольшое исследование работы 4GB & 8GB на разных чипсетах.

К слову о трёх планках памяти:
Технология Flex Memory — позволяет осуществлять двухканальную адресацию памяти даже при неравномерном заполнении слотов, относящихся к разным каналам: чередующаяся адресация, которая помогает ускорить обычный доступ в память, выполняется для объема памяти, равного удвоенному объему меньшего из модулей(пар модулей), а остаток большего из модулей(пар модулей) адресуется линейно. Таким образом, для полноскоростного двухканального доступа к [части] памяти теперь не требуется соблюдать суммарное равенство объемов в каждом из каналов.
Отредактировано куратором: meloman_1981. Дата: 26.12.2008 15:53



Партнер
 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
Проблема в том, что, теоретически отведённые 2 Гигабайта свободного виртуального пространства под каждое приложение в 32х битных виндах, часто ограничены:
    1. Физической памятью, т.е. если заведомо меньше 2х гигов физической памяти.
    2. Другими загружаемыми модулями, которые занимают вирт. пространство нашего процесса - яркий пример Agnitum Outpost, который внедряет свою длл в каждый исполняющийся процесс и отжирает в нём львиную долю вирт. пространства. Пример с Аутпостом 1660Мб свободного непрерывного вирт. пр-ва, без 1909Мб.

П.С. Программа ищет максимальный непрерывный кусок вирт. пространства. Т.е. аутпост может даже и не занимает все эти 300Мб, но(!) распологается в памяти так, что нельзя быделить непрерывный кусок памяти, больше чем 1660Мб. Скажем же за это бооольшое спасибо Агнитуму.

_________________
enthusiast


 

Member
Статус: Не в сети
Регистрация: 13.11.2004
Мать ASUS M2N-SLI Delux, стоит 4 Гига оперативки. БИОС матери видит все 4 Гига. WinXP SP2 в свойствах системы общий объем 3,5 Гига, а если смотреть в программе "Сведения о системе" (msinfo32.exe) там полный объем физической памяти также 4 Гига.

Поможет ли ключ /PAE системе увидеть полностью все 4 Гига. И не замедляется ли работа с пямятью при использовании этого ключа?


 

Member
Статус: Не в сети
Регистрация: 11.12.2005
Откуда: ин Москоу
Народ, насколько я понимаю, без геморроя более 2 гигов Винда под приложение заюзать не может. Чтоб адресовала до 3 гигов - это надо сильно захотеть - для домашнего компа вряд ли пригодно. Это со СТАЛКЕРом такая трабла, кстати - жрёт оперативки больше, чем её способна та же Виста представить....
Одна из причин (наиболее существенная компов под БД и 3-Д-моделирование) появления 64-битной ОСи - это снятие ограничения по оперативной памяти.
Но! Из практического опыта могу сказать: Виста 32-бита ест у меня порядка одного гига оперативки, 64-битная - в полтора-два раза больше (в фоне). Программы запущены те же или меньше (из-за меньшей совместимости).
Вывод: хочется 4-8 гигов памяти - ставь 64-битную ОСь!
P.S. Вроде серверный "Ксеон" работает под 32 бита и может юзать много оперативы, но это приводит к очень существенному снижению производительности....


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Winwars писал(а):
Вроде серверный "Ксеон" работает под 32 бита и может юзать много оперативы, но это приводит к очень существенному снижению производительности....

да нет там очень существенного снижения производительности. См. также

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Advanced member
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Winwars писал(а):
Народ, насколько я понимаю, без геморроя более 2 гигов Винда под приложение заюзать не может.


Вот весь геморрой по адресации:

32-bit applications on 32-bit platforms can address up to 2 GB — or 3 GB with the /LARGEADDRESSAWARE:YES build flag and the /3gb special boot option — while the remaining portion of 4 GB is allocated to the kernel.
32-bit applications on 64-bit platforms can address up to 2 GB, or up to 4 GB with the /LARGEADDRESSAWARE:YES build flag.
64-bit applications use 43 bits for addressing, which provides 8 TB of virtual address for applications and 8 TB reserved for the kernel.

Рекомедация MS (64-bit programming for Game Developers. Microsoft Game Technology Group. April 2006) для разработчиков игр : "Всегда устанавливать флаг /LARGEADDRESSAWARE:YES, даже если Ваша игра и не была предназначена под 64-битную ОС". Если программить под 64, там надо еще кое что проверять.


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
В общем, по моим последним тестам - последние сведения
Ключ /3GB сработал на WinXP SP2 на 3х Гигабайтах оперативной памяти. При этом оному приложению я смог выделить 3071 Мегабайт (т.е. ~3Гб) памяти !!!
Таким образом ключ /3GB эффективен/имеет смысл на машинах с объёмом памяти строго больше 2х гигабайт!
Т.е. если вы счастливый обледатель памяти в 3 и более гигабайт, то ставьте это ключ и приложения увидят до 3х гигабайт виртуальной памяти*.


*Для этого каждое приложение (*.ехе) должно иметь ключ LARGEADDRESSAWARE в своём заголовке (в поле Сharacteristics если быть точным). Собственно что и сделано для игры сталкер.
Ключ можно выставить утилитами из пакета Visual Studio От MS или другими утилитами, работающими с исполняемыми файлами.

_________________
enthusiast


 

Member
Статус: Не в сети
Регистрация: 23.10.2006
Откуда: Питер
asmfan
вот моя ситуация - докупил 2 модуля по 1gb к моим двум по 512 - разгон до 400 стабильно (проверял ортос, memtest, перестройка, игры и активная работа). как в xpsp2 +все апдейты так и под вистой ультимайт +все апдейты обе системы 32 бит. RAM_Speed в обоих доступно около 1625 mb. (ос xp показыват доступность 2.93 гб виста 3008 мб -как и в биосе, ремап отключен)
сейчас играю в сталкера в основном под хр на высоких настройках со сниженным уровнем деталей и качества текстур под xp занимает до 1гб памяти ( у меня 2 монитора и на втором диспетчер задач запускаю), для интереса проверил под vista с теми же настройками в памяти 1350 и игра пошла даже плавнее чем в xp т. е. провалов меньше. так как играю с патчем 1.0003 где декларировано возможность использования до 3 гб памяти на процесс. решил поиграться с параметром /3gb в boot.ini (так как подумал, а вдруг с ним выделится больше памяти и игра и на xp поровнее пойдет) поставил - разницы в объеме памяти и ходе игры не заметил, но зато стал ловить bsod вызван win32k.sys (PAGE_FAULT_IN_NONPAGED_AREA), причем проявлялись они только при длительной и интенсивной работе с компом тесты проходил нормально. заметив что даже при всех максимальных настройках сталкер (1024*768) не занимает болше 1200 мб ( а это меньше чем 1660 доступных и без этого параметра) в памяти убрал этот параметр из boot.ini и синие экраны прекратились.

на этои моя эпопея закончилась бы (стал бы ждать поры перехода на 64 битную винду), если бы я не попробовал запустить сталкера на максимальных настройках под вистой он стал вылетать с ошибкой в логах о нехватке памяти, по диспетчеру это происходило как раз когда он занимал в памяти 1600 мб. меньше настройки - меньше памяти все ок. проштудировав инфу на эту тему заметил, что я не одинок, и как решение, опять предлагают дать пользовательскому приложению до 3 гб памяти- под вистой это команда BCDEDIT /Set IncreaseUserVa 3072. Она меня смутила так как предлагала использовать несколько больше памяти чем у меня отображала система и я боялся повторения истории с xp. Но решил попробовать. С этим параметром на максимальных настройках игра стала занимать до 1850 мб в памяти (хотя RAM_Speed так же рапортовал только о 1660) и все вылеты прекратились. у меня только остались сомнения не будет ли проблем с системой, так как я понимаю этой командой я разрешаю использовать больше памяти чем есть (пока проблем не было но и времени еще мало прошло).

отсюда главный вопрос можно ли в этой команде BCDEDIT /Set IncreaseUserVa 3072 указать меньшее чем у меня доступно памяти, например 2944 (3072-128). так как я подразумеваю что и в xp синие экраны были из за того что /3gb или 3072 > чем доступные 2930. хотя может я и не прав

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

_________________
Msi MAG X570S TOMAHAWK/ Ryzen 7 5800X/32Gb RAM 3600 Gskill 14-14-14-28 /Palit RTX 4070ti GameRock Classic OC/Samsung 970 Evo Plus 500 mb+1Tb/Win-10x64


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
oleg12580
Вообще всё правильно говоришь.
Вообще, при включении дополниктельных опций (например /3GB) мы позволяем 32битным виндам отдавать 3Гб виртуальной памяти под любое приложение с ключом largeaddressaware, и оставлять 1Гб опять же вирт памяти под систему (ядро).
Теория свопов
Возникаю из-за того, что в системе не хватает оперативной/физической памяти. Даже с теоретической возможностью распологать 3мя гигабайтами виртуальной памяти, физической может и не хватать. Поэтому в помощь физической памяти был создан файл подкачки, который восполняет нехватку рельной физической памяти. Поэтому если в системе виртуальное пространство ограничено 3мя гигами, а физическое, скажем 2мя, то остальной гиг, которы, к примеру выделит СТАЛКЕР, пойдёт в своп. Но если же использовать без ключей (/3BG) то более 2х гигов процесс не получит! и те, кто обладает 2мя и более гигами, более этих самых 2х и не задействуют. Т.е. остальная память будет простаивать.
Поэтому вывод. Лучше иметь больше виртуального пространства под одно приложение, а системе сама найдёт физическую память под это виртуальное пространство (даже если все твои 2,6ГБ физических закончатся - то отожрётся 400Мб свопа и всё, зато процесс будет использовать все 3Гб и не будет вылетать с нехваткой памяти).

А вообще для процесса пофиг РАМа или своп используется, т.к. ему просто выделяется кусок виртуальной паямяти, споецированный на физический носитель (РАМ, ХДД и проч. запоминающ. устр-ва). Поэтому лучше большее вирт. пространство, нежели оперативы под 4Гига на неоптимизированной конфигурации 32битной винде и таком же кривом софте.

П.С. а бсоды от переразгона бывают и от кривово софта (и ещё не известно от чего больше ибо индусы - плохие проггеры, а именно они и пишут для Мелкософта).
ППС. Сам бывало ловил бсоды в вайлах от дров видюшных (АТИ). Только кривость софта всему виной.
Добавлено спустя 14 минут, 4 секунды
Free RAM Tester & Speed
Первая показывае общее количество свободной физической памяти, которое реально может использовать приложение. (Т.е. Если стоит клю /3GB для виртуального простарнства и физической памяти больше чем 2 Гб то программа сможет использовать вплоть до 3х гигабайт памяти, так же как и сделает сталкер.)
Вторая находит самый большой непрерывный кусок вирт. пространства внутри 3х Гигабайтного (если /3GB) или 2х гигабайтного пространства свободной памяти и тестирует скорость записи в это самы большой кусок.

_________________
enthusiast


 

Advanced member
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
telemeh писал(а):
так нужно или нет ставить ключ /3GB для 2 гигов памяти

Ключ /3gb не имеет отношения к объему физической памяти. Не зная, что Вы делаете, а судя по вопросу, это так, лучше его вообще не трогать, так как Вы отбираете адресное пространство у системного ядра и служб ОС. Более того, при этом некоторые структуры операционной системы будут уменьшены не на 50%, а гораздо больше.


 

Member
Статус: Не в сети
Регистрация: 23.10.2006
Откуда: Питер
asmfan
спасибо за поддержку! конечно вы совершенно правы BCDEDIT /Set IncreaseUserVa 3072 выделяет именно виртуальную память. таким образом из доступных в 32 разрядной среде 4 приложению может отдаваться 3, а моя ошибка с win32k.sys скорее связана с тем что память ядра естественно уменьшается до 1 гб. вот нашел хорошую статью по этому поводу http://msdn2.microsoft.com/en-us/library/ms791558.aspx

вот кстати замечание от туда On Windows XP, some drivers, especially video adapter drivers with onboard RAM, cannot run with the /3GB parameter because they require more address space than the 1 GB kernel address space permits.

так что моя ошибка похоже из этой оперы

/userva
Specifies an alternate amount of user-mode virtual address space for operating systems booted with the /3GB parameter.
SizeInMB
Specifies the amount of memory, in megabytes, for user-mode virtual address space. This variable can have any value between 2048 (2 GB) and 3072 (3 GB) megabytes in decimal notation. Windows uses the remaining address space (4 GB minus the specified amount) as its kernel-mode address space.
а это говорит о том что этот параметр можно задавать поизвольно в диапазоне 2048 (2 GB) and 3072 (3 GB) если я правильно перевел

The /userva subparameter is designed for computers that need more than 2 GB but less than 3 GB of user-mode address space, particularly those that are running memory-intensive user-mode programs.
а это абзац по ходу ключевой - как я понял все же /3gb это костыль для 32 битных систем, и его стоит использовать только при наличии реальной потребности какой то программы в большем объеме памяти. как например у меня стлкер под вистой потребовал этого на максимуме настроек.
и исходя из логики я думаю мне стоит задать минимально необходимый объем для него по моим подсчетам около 2.1 гб, для того чтобы больше памяти оставить ядру.
с этим я буду еще эксперементировать.
кстати под вистой с параметром IncreaseUserVa 3072: Available Physical Memory - 2100, RAM Speed Test - 1628, так что возможно мне меньше 3072 в этом параметре ставить бесполезно. возможно больше памяти не дают взять устройства, но это надо все еще проверить

_________________
Msi MAG X570S TOMAHAWK/ Ryzen 7 5800X/32Gb RAM 3600 Gskill 14-14-14-28 /Palit RTX 4070ti GameRock Classic OC/Samsung 970 Evo Plus 500 mb+1Tb/Win-10x64


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
Говоря про /3GB бсод на своих 3х гигах я словил всего 2 раза, до того как распознал причину(!), представляете, от стандартной встроенной в виндовс программы-заставки а именно "летающие объекты" и только от неё. Поставил другую нативную завставку - все нормально. Других глюков при включении этого параметра на 3х гигах физичекой памяти не обнаружил.
Кстати тут заблуждение.
Ядро-ядром, есть невыгружаемая память, т.е. ядро постоянно висит в физической памяти, отжирая её часть.
Но(!) самое большое количество памяти отжирает именно оборудование, та же самая видеокарта. Ведь её память тоже адресуется, а в настройках фиксированы физические адреса памяти видеокарты. такая же история с остальными устройствами. но это всё про физическую память. а ядру много не надо.

П.С. Какой код ошибки при бсоде?

_________________
enthusiast


 

Member
Статус: Не в сети
Регистрация: 23.10.2006
Откуда: Питер
asmfan
сейчас не помню, не записал завтра попробую по журналу системы посмотреть если туда успело записаться.
на счет оборудования согласен у меня оно занимает (если правильно перевел с шестнадцатеричной системы память начиная с 3200 мб, так что даже если я 4 гига поставлю больше 3200 мне не видать, а не выгружаемая часть ядра под вистой даже меньше чем под xp всего 38 мб, та всего с выгружаемой 163 так что все верно.
0xBC000000-0xFFFFFFFF Шина PCI OK
0xFA800000-0xFE8FFFFF Intel(R) P965/G965 PCI Express Root Port - 29A1 OK
0xBFE00000-0xDFDFFFFF Intel(R) P965/G965 PCI Express Root Port - 29A1 OK
0xFD000000-0xFDFFFFFF NVIDIA GeForce 7600 GT OK
0xC0000000-0xCFFFFFFF NVIDIA GeForce 7600 GT OK
0xFC000000-0xFCFFFFFF NVIDIA GeForce 7600 GT OK
0xFEBFFC00-0xFEBFFFFF Intel(R) ICH8 Family USB2 Enhanced Host Controller - 283A OK
0xDFE00000-0xDFEFFFFF Intel(R) ICH8 Family PCI Express Root Port 1 - 283F OK
0xFEA00000-0xFEAFFFFF Intel(R) ICH8 Family PCI Express Root Port 4 - 2845 OK
0xFEAFF000-0xFEAFFFFF Realtek RTL8168/8111 Family PCI-E Gigabit Ethernet адаптер (NDIS 6.0) OK
0xFE900000-0xFE9FFFFF Intel(R) ICH8 Family PCI Express Root Port 5 - 2847 OK
0xFE9FE000-0xFE9FFFFF Стандартный двухканальный контроллер PCI IDE OK
0xFEBFF800-0xFEBFFBFF Intel(R) ICH8 Family USB2 Enhanced Host Controller - 2836 OK
0xFFAFE000-0xFFB0CBFF Ресурсы системной платы OK
0xFFB00000-0xFFBFFFFF Ресурсы системной платы OK
0xFED1C000-0xFED1FFFF Ресурсы системной платы OK
0xFED20000-0xFED8FFFF Ресурсы системной платы OK
0xFFF00000-0xFFFFFFFE Ресурсы системной платы OK
0xFEBFE000-0xFEBFEC00 Ресурсы системной платы OK
0xFED00000-0xFED003FF High Precision Event Timer OK
0xFEC00000-0xFEC00FFF Ресурсы системной платы OK
0xFEE00000-0xFEE00FFF Ресурсы системной платы OK
0xFED14000-0xFED19FFF Системная плата OK
0xE0000000-0xEFFFFFFF Ресурсы системной платы OK
0x0000-0x9FFFF Системная плата OK
0xA0000-0xBFFFF Шина PCI OK
0xA0000-0xBFFFF Intel(R) P965/G965 PCI Express Root Port - 29A1 OK
0xA0000-0xBFFFF NVIDIA GeForce 7600 GT OK
0xC0000-0xCFFFF Системная плата OK
0xD0000-0xDFFFF Шина PCI OK
0xE0000-0xFFFFF Системная плата OK
0x100000-0xBBFFFFFF Системная плата OK
ну пятизначные можно несчитать, это вроде в первом мегабайте

а у вас в каком модуле и какая ошибка? так как win32k.sys - это:
Особое место в ядре системы занимает модуль графического интерфейса ? Win32k.sys. Это часть подсистемы Win32, отвечающая за прорисовку и управление графическим интерфейсом. Он расположен в ядре специально, чтобы существенно повысить производительность графических операций ввода/вывода. Однако размещение столь критической части в ядре накладывает чрезвычайно строгие требования к корректности его исполнения. Фактически, ошибка в коде Win32k.sys приведет к краху системы.

так что ваша ошибка с заставкой наводит на смутные подозрения :D

_________________
Msi MAG X570S TOMAHAWK/ Ryzen 7 5800X/32Gb RAM 3600 Gskill 14-14-14-28 /Palit RTX 4070ti GameRock Classic OC/Samsung 970 Evo Plus 500 mb+1Tb/Win-10x64


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
Да вылетал бсод всего 2 раза и оба в ati2dvag.sys типа драйвер зациклился) система написала. В общем в заставке дело было как я понял. Кривонаписана походу. более тьфу-тьфу-тьфу ничего не вылетает. Хотя ранее до всех пертрубаций с ключами бут.ини бсоды были в модулях от Агнитума, с page fault in nonpaged area... редко кнешна, но тогда я с напряжения проца игрался - низкие выставлял очень (хотя и щас ниже номинала). Мож от недопитки, мож от корявости софта (что очень даже неисключено по материалам ихнего же форуму часто это люди ловят).
Итого - железо нипричём) Во всём виноваты кривые программисты! Аминь.)

_________________
enthusiast


 

Advanced member
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
asmfan писал(а):
а ядру много не надо


Вот тут заблуждение.
Для себя - не надо. Но ядро же не само в себе и для себя. Ключ /3gb уменьшает выделение страничной памяти под PTE примерно с полугига - почти гига (тут и далее - цифры плюс-минус, зависят от ОС) до менее, чем 140 Мб, то есть физически примерно уменьшение на 200 тысяч страниц памяти, оставляя немногим более 30 тысяч. Не страничный пул - падает вдвое. А именно он используется драйверами устройств. И начинают происходить проблемы из-за нехватки виртуальной памяти драйверу видеокарты под создание DDB, когда скринсейверами балуешься.
Это может привести и к невозможности выделения памяти при операциях ввода-вывода, нехватке стеков ядра и памяти под дескрипторы. Так что варианты получить BSOD есть.

Когда у системы 2Гб пространства, несколько сот Мб пространства (около полугига) выделяется под файловый системный кэш, (блоки файлов отображаются порциями по 256K в виртуальную память), а оставив системе всего 1Гб, файловый кэш обрезается, что бъет не только по дисковой системе, но, как уже писал, вообще по буферизации асинхронного IO.
Поэтому требуется все это понимать и работать еще и с ключом /USERVA.


 

Member
Статус: Не в сети
Регистрация: 23.10.2006
Откуда: Питер
zauropod
т.е. я правильно понял /USERVA позволяет гибче распределить память если я используя этот ключ дам на приложение например 2200 мб 1800 останется ядру - цифры грубые конечно, но для общей картины.
выделяется под файловый системный кэш - это в висте особенно хорошо зметно, она под кэш забирате почти всю память, если запускаешь тяжелое приложение естественно она ему отдается, а выгузив видно как система шуршит винтом - у меня из 3006 кэшировано 2400, при офисной работе, свободно всего 58

_________________
Msi MAG X570S TOMAHAWK/ Ryzen 7 5800X/32Gb RAM 3600 Gskill 14-14-14-28 /Palit RTX 4070ti GameRock Classic OC/Samsung 970 Evo Plus 500 mb+1Tb/Win-10x64


 

Member
Статус: Не в сети
Регистрация: 05.12.2006
Откуда: Из-за компутера
zauropod
О, девелоперы пожаловали))) приятно слышать!
Думал, что DDB нигде уже не встретить, тока DIB.
Т.о. из-за отказа выделить nonpaged память всё и валится. А вот про объёмы файловых кэшей не знал, ессесно они кратны 512-сектору, но про 256КБ не знал.
П.С. Не ты ли виндовс программил?:wink:

_________________
enthusiast


 

Member
Статус: Не в сети
Регистрация: 13.06.2006
Можно задать глупый вопрос? Что делает ядро и драйвера в вирт. адресном пространстве процесса? Я может ошибаюсь, но ведь вирт. адресное пространство свое для каждого процесса, т.е. одновременно может быть 2 процесса и оба хранить данные например по адресу 0х100, при этом данные совершенно не связаны и расположены в разных местах физ. памяти. Так зачем обычному пользовательскому процессу нужен доступ к драйверам и т.п.?


 

Advanced member
Статус: Не в сети
Регистрация: 16.11.2006
Откуда: Всегда!
Swappp
Это вопрос из серии "Для чего нужна ОС и как она работает" и в этой ветке является оффтопом.


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
zauropod, почему функция GlobalMemoryStatus возращает 2G доступной памяти и с и без ключа /3G на 4G памяти?


 

Member
Статус: Не в сети
Регистрация: 06.11.2003
serj читай msdn
Цитата:
On computers with more than 4 GB of memory, the GlobalMemoryStatus function can return incorrect information. Windows 2000 and later report a value of -1 to indicate an overflow. Earlier versions of Windows NT report a value that is the real amount of memory, modulo 4 GB. For this reason, use the GlobalMemoryStatusEx function instead.

On Intel x86 computers with more than 2 GB and less than 4 GB of memory, the GlobalMemoryStatus function will always return 2 GB in the dwTotalPhys member of the MEMORYSTATUS structure. Similarly, if the total available memory is between 2 and 4 GB, the dwAvailPhys member of the MEMORYSTATUS structure will be rounded down to 2 GB. If the executable is linked using the /LARGEADDRESSAWARE linker option, then the GlobalMemoryStatus function will return the correct amount of physical memory in both members.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 2017 • Страница 11 из 101<  1 ... 8  9  10  11  12  13  14 ... 101  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Itselfish, oleg2100 и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan