社区
进程/线程/DLL
帖子详情
Windows一个进程最多可以使用多少内存?
wlcshh
2015-04-28 11:14:11
Windows平台,一个进程最多可以使用多少内存?
一个进程一次最多可以申请到多少内存?
你们一般是用什么API去申请内存空间?
...全文
1009
5
打赏
收藏
Windows一个进程最多可以使用多少内存?
Windows平台,一个进程最多可以使用多少内存? 一个进程一次最多可以申请到多少内存? 你们一般是用什么API去申请内存空间?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaohuh421
2015-04-29
打赏
举报
回复
一般ring3层, 用户都只能分配到虚拟内存, 当然实际上可能会映射到物理内存上. 至于能申请多大, 要看当前内存使用情况和你计算机的剩余内存性况.
wlcshh
2015-04-28
打赏
举报
回复
我问的是物理内存
lx624909677
2015-04-28
打赏
举报
回复
32位可用的地址空间是2G,64位约8TB
珍惜生命远离CPP
2015-04-28
打赏
举报
回复
一次性? 没准 有内存碎片严重的话,几M都可能失败。
赵4老师
2015-04-28
打赏
举报
回复
自己用GlobalAlloc实际申请一下不就知道了。 不要迷信书、考题、老师、回帖; 要迷信CPU、编译器、调试器、运行结果。 并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。 任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实! 有人说一套做一套,你相信他说的还是相信他做的? 其实严格来说这个世界上古往今来所有人都是说一套做一套,不是吗? 不要写连自己也预测不了结果的代码!
Windows
内核-
内存
管理
-
Windows
内存
管理主要学习什么 - 线性地址是如何管理的 - 物理地址是如何管理的 - 缺页异常解决了什么问题 - 堆,栈这些
内存
是怎么申请的 -
Windows
内核情景分析 第三章 - 不管什么程序,除了程序代码本身所占用的空间外,程序在运行过程中总得
使用
一定的
内存
空间,因为数据也要占用空间。这些存储数据的
内存
空间大致可分为三类: - 全局变量:编译工具链接的时候就静态的分配好了 - 局部变量:调用子函数的时候,在栈上分配 - 通过malloc分配,可以通过free释放,重复利用 - 每个
进程
都有4GB的空间,但是这4GB空间并不是都在
使用
,有没有一个地方在记录着哪些地址空间已经
使用
了,哪些没有
使用
? - 肯定有一个地方在记录 - 怎么记录线性地址是否是可以用的? - 每个
进程
都有自己的线性地址管理
一个程序最多可以
使用
多少
内存
?
在虚拟地址模式下,一个程序可以
使用
的
内存
容量跟计算机的物理
内存
(也就是你的
内存
条)没有关系,它由虚拟地址的取值范围决定。 32位操作系统 在32位操作系统中,程序能
使用
的最大
内存
是 4GB,也就是2的32次方。即使你的电脑安装的是16G的
内存
条也没用,剩下的12G只能空闲着。 让你买那么大的
内存
,浪费了吧! ...
一个
进程
最多可以创建多少个线程?
大家好,我是小林。 昨天有位读者问了我这么个问题: 大致意思就是,他看了一个面经,说虚拟
内存
是 2G 大小,然后他看了我的图解系统 PDF 里说虚拟
内存
是 4G,然后他就懵逼了。 其实他看这个面经很有问题,没有说明是什么操作系统,以及是多少位操作系统。 因为不同的操作系统和不同位数的操作系统,虚拟
内存
可能是不一样多。
Windows
系统我不了解,我就说说 Linux 系统。 在 Linux 操作系统中,虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同位数的系统,地址 空间的范围也不同。比如最常
一个
进程
最多能包含多少线程
//小watch水平有限,希望大家多多指正文中的错误,共同进步 最近在学习os的多线程课程,第一个实验室关于
windows
的多线程,用mfc实现。实验蛮简单的,但是,我不由想到了,一个
进程
最多能包含多少个线程。 在网上查了查,貌似也没找到多少这方面的资料。大部分都是关于服务器多线程链接sever的,关于本机可执行exe的
进程
数倒是没有什么涉及。 我觉得唯一一个有用的出处:http://bbs
linux和
windows
一个
进程
最多启动多少个线程,
windows
一个
进程
可以允许最大的线程数...
默认情况下,一个线程的栈要预留1M的
内存
空间而一个
进程
中可用的
内存
空间只有2G,所以理论上一个
进程
中最多可以开2048个线程但是
内存
当然不可能完全拿来作线程的栈,所以实际数目要比这个值要小。你也可以通过连接时修改默认栈大小,将其改的比较小,这样就可以多开一些线程。如将默认栈的大小改成512K,这样理论上最多就可以开4096个线程。即使物理
内存
再大,一个
进程
中可以起的线程总要受到2GB这个
内存
空间的...
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章