windows 內存分配的極限?
01-13
請問 64GB 的內存,在只執行一個程序且不影響操作系統正常運行的情況下,這個程序最大可使用的內存是多大?是否存在一個公式可以計算出這個最大內存?
如果是64位程序的話,應該可以佔滿所有物理內存+虛擬內存(預設值是跟內存一樣大)的可用的空閑空間。
Memory Address Limits:
- User mode:
x86: 2G / 3G (with IMAGE_FILE_LARGE_ADDRESS_AWARE and 4GT)
32bit on x64: 2G / 4G (with IMAGE_FILE_LARGE_ADDRESS_AWARE
x64: 8TBIA64: 7TB- Kernel mode:
x86: 2G / 1-2G (with 4GT)
x64: 8TB (Windows 6.2-) / 128TB(Windows 6.3+)IA64: 8TBBut you still cannot bypass the limitation of the system specification. For example: Windows 10 Enterprise can only support 2TB memory on x64.操作系統的設計會影響能用多大內存。x64頁表設計能用512*512gb,但是按一些說法第一個pml4的offset會被忽略(?),intel的手冊上我沒找到出處,如果有人知道麻煩告知
# python 測試單個進程能使用的最大內存
sl = []i = 0# some magic 1024 - overhead of string objectfill_size = 1024if sys.version.startswith("2.7"): fill_size = 1003if sys.version.startswith("3"): fill_size = 497print(fill_size)MiB = 0
while True: s = str(i).zfill(fill_size) sl.append(s) if i == 0: try: sys.stderr.write("size of one string %d" % (sys.getsizeof(s))) except AttributeError: pass i += 1
if i % 1024 == 0:
MiB += 1 if MiB % 25 == 0: sys.stderr.write("%d [MiB]" % (MiB))
https://stackoverflow.com/questions/4285185/upper-memory-limit
推薦閱讀:
※該內存不能為「read/written」的錯誤提示是否存在翻譯不嚴謹,比較「該內存無法被讀取/寫入」?
※如何徹底刪除魯大師?
※如何評價Windows 10 創意者更新的 「Dolby Atmos for headphones」?
※一直用的OS X,轉到Windows以後卡的要死怎麼辦?
※一個對點滑鼠深惡痛絕的計算機學生有什麼出路?
TAG:MicrosoftWindows | 編程 | 內存管理 |