腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
两个相同的虚拟地址如何指向不同的物理地址?
linux
、
memory
、
hardware
、
fork
在
Linux
中调用fork()之后,两个
进程
(一个是另一个
进程
的子
进程
)将共享
分配
的堆
内存
。这些已
分配
的页面被标记为COW (复制即写),并将保持共享,直到任何一个
进程
修改
它们。
内存
管理单元( MMU )如何区分两者?请考虑以下几点:
进程
A被
分配
一个
内存
页,由虚拟地址0x1234指向
进程</e
浏览 0
提问于2015-10-06
得票数 5
回答已采纳
3
回答
内存
分配
在极端情况下是如何工作的?
c
、
linux
、
memory-management
我很困惑在
linux
/c中
内存
分配
(malloc/calloc)是如何工作的。假设我有一台拥有16 as的机器,我运行一个程序作为root。这是64位的机器,所以所有的16 as可以作为一个单独的段。我可以用一个malloc调用来
分配
所有这些(当然,减去OS的数量)吗?有很多malloc电话? 它与“堆
内存
”和“虚拟
内存
”有什么关系?如果我
分配
了一个小
内存
块,并且它发生在堆
内存
中,那么我调整这个块的大小(放大),当
浏览 4
提问于2013-08-19
得票数 2
回答已采纳
2
回答
Linux
中的malloc() --“不能保证
内存
真的可用”?
c
、
linux
、
memory-management
我将块保留在一个动态
分配
的数组中,因此在初始化世界的数据结构时必须使用malloc()。 默认情况下,
Linux
遵循乐观
内存
分配
策略。这意味着当malloc()返回非空时,不能保证
内存
确实可用。如果系统
内存
不足,一个或多个
进程
将被OOM杀手杀死。有关更多信息,请参见proc(5)中的/proc/sys/vm/overcommit_memory和/proc/sys/vm
浏览 5
提问于2015-02-01
得票数 6
1
回答
在共享
内存
上
分配
原子
c++
、
linux
、
atomic
我正在尝试
分配
一个共享
内存
块上的原子(在
linux
上)。原子将被访问并同时
修改
我的多个线程。在共享
内存
上
分配
它背后的合理性是因为我想持久化这些值,这样如果我的
进程
重新启动,就可以恢复以前的状态。我知道,如果我在共享
内存
中使用互斥锁,我必须将其初始化为共享的。对原子有这样的要求吗?这可行吗?
浏览 24
提问于2018-02-05
得票数 1
回答已采纳
1
回答
测量
进程
使用的
内存
,考虑写入时复制
linux
、
ubuntu
、
memory
、
linux-kernel
Linux
具有写入时复制,这意味着在fork之后,只要父
进程
不
修改
内存
,子
进程
就可以与父
进程
共享
内存
。 假设父
进程
占用10 GB的物理RAM。但是,当我向操作系统询问特定
进程
(例如,使用top或我所知道的任何C API函数)使用的
内存
量时,它显示该子
进程
使用的物理
内存
立即为10 GB (在它
修改
任何内容之前)。因此,每个
进程
的
内存</em
浏览 1
提问于2015-04-12
得票数 2
1
回答
进程
是否可以
分配
缓存
内存
,以便内核在必要时能够抓住它?
memory
、
cache
、
out-of-memory
我专门问的是
Linux
,但是一个适用于一般Unix (即POSIX或类似的)的答案显然会更好。我的问题是:是否有一种方法可以使应用程序
分配
仅用作缓存的
内存
?也就是说,
分配
时知道内核允许在可用
内存
不足时以某种方式控制这个
内存
浏览 0
提问于2017-11-22
得票数 1
回答已采纳
1
回答
使用
进程
id获取
进程
的实际
内存
使用情况
java
、
memory
我使用下面的
linux
命令通过
进程
id获取
进程
的实际
内存
使用情况。但是它没有给出
进程
的正确
内存
分配
大小。当我在java代码中使用下面的代码时,它给出了java
进程
的正确
内存
分配
大小。Runtime.getRuntime();long memory = runtime.totalMemory() - runtime.freeMemory(
浏览 2
提问于2017-04-16
得票数 1
3
回答
不同的程序是从公共堆还是从单独的堆中获取
内存
?
linux
、
malloc
、
glibc
我有点困惑,
linux
上的glibc如何将其
内存
分配
给各种program.These是几个问题: 它是从公共堆(即
linux
中的所有
进程
都有一个公共堆)
分配
的,还是为系统中的每个
进程
分配
了一个堆。另外,假设我正在编译一个静态库,它最终被静态地链接到主
进程
,它将如何获得它的
内存
?它是否已经链接到其他堆(就像我们已经编译过的那样),还是将从主
进程
的堆中获取
内存
。
浏览 3
提问于2011-08-31
得票数 9
回答已采纳
1
回答
ioctl的最大缓冲区大小是多少?
rhel
、
ioctl
编辑1Enterprise
Linux
Enterprise
Linux
Server release 5.3 (Carthage)2.6.18-128.el5
浏览 1
提问于2014-04-04
得票数 1
1
回答
我能用一个过程中的PTEs来表示物理记忆的片段,在另一个过程中创建合适的PTEs吗?
c
、
linux
、
memory-management
、
linux-kernel
、
posix
当我们在
Linux
中使用函数mmap (,,, MAP_ANON | MAP_SHARED);时,对于同一区域的物理
内存
(在
进程
之间
分配
的)是
分配
虚拟
内存
页(PTEs)。这些PTE从一个
进程
的页表复制到另一个
进程
的页表(具有相同的物理地址
分配
内存
片段序列),这是真的吗? 但是mmap ()需要在fork ()之前完成。哪些函数用于在两个已经建立的
进程
之间复制PTE的机制以创建共享
内存</em
浏览 1
提问于2013-12-01
得票数 1
2
回答
操作系统什么时候会清除
进程
的
内存
windows
、
linux
、
memory
、
memory-management
进程
在某些操作系统上成功终止或异常终止,操作系统何时决定清除
内存
(数据、代码等)
分配
给该
进程
;在退出时或当它想要将
内存
分配
给新
进程
时?在所有操作系统(winXP、Win7、
linux
、Mac)上,这种清除
内存
分配
的过程都是一样的吗?谢谢。
浏览 5
提问于2012-10-04
得票数 1
1
回答
将物理
内存
分配
给
Linux
中的
进程
linux
、
memory
、
kernel
是否有一种方法为
Linux
中的
进程
分配
特定的物理
内存
?我正在考虑一个系统,在这个系统中,某些记忆区域比其他区域更快。我希望有一个特定的
进程
使用更快的
内存
(例如。用于视频处理)。是否有
Linux
特性或子系统允许我这样做?可能是NUMA还是cgroup?谢谢。
浏览 1
提问于2018-03-28
得票数 1
回答已采纳
1
回答
内存
分配
中的锁争用-多线程与多
进程
linux
、
multithreading
、
memory-management
、
multiprocessing
、
contention
它是一个重多线程(1000+线程)的单
进程
体系结构,占用大量
内存
(200 GB+)。但是,我们开始看到
内存
分配
/去
分配
期间锁争用对一些大型安装的不利影响,特别是在
进程
运行了一段时间之后(这暗示了
分配
器的老化/碎片效应)。我们正在考虑更改为多
进程
/共享
内存
体系结构(在共享
内存
中,而不是在常规堆上,重
分配
/去
分配
不会发生)。因此,最后,我们的问题
浏览 11
提问于2016-09-15
得票数 2
1
回答
Linux
内核:重新
分配
的页面帧被清除了吗?
linux
、
linux-kernel
、
paging
当
进程
结束时,
Linux
内核可以将用户空间页帧(物理
内存
中的页)重新
分配
给另一个
进程
的用户空间页(在虚拟
内存
中)。 在重新
分配
之前,页面帧是否被清除?否则,旧的内容可能会对另一个
进程
可见,我无法想象这是允许的。一种情况是将页帧
分配
给不断增长的堆,其中旧内容可能在
分配
的
内存
中可见。
浏览 17
提问于2022-05-03
得票数 1
回答已采纳
2
回答
虚拟
内存
中的malloc函数
linux
我读取malloc函数在堆上
分配
内存
,堆驻留在OS(
Linux
)中的虚拟
内存
中。所以我对此毫不怀疑: 如何在
Linux
操作系统中更改堆大小?
浏览 3
提问于2013-06-27
得票数 1
2
回答
内存
泄漏对其他
进程
的影响
memory-management
、
memory-leaks
我有一个与
内存
泄漏相关的查询。据我所知,每个
进程
都有一个来自操作系统的2 2GB的唯一VM。但是在VM和物理
内存
之间有一个映射。
浏览 5
提问于2012-06-05
得票数 1
回答已采纳
1
回答
在
Linux
内核中
分配
用户空间
内存
c
、
linux
、
memory
、
kernel
这允许从内核空间
分配
用户空间
内存
吗?我知道
Linux
中的
进程
使用虚拟
内存
和虚拟地址。此外,还存在一种不能允许使用不同
进程
的
内存
的保护(这会引起分段故障)。因此,没有办法
分配
缓冲区并将指向它的有效指针返回到用户空间
进程
?
浏览 1
提问于2021-08-30
得票数 0
回答已采纳
3
回答
堆栈
内存
是如何增加的?
process
、
operating-system
、
stack
在一个典型的C程序中,
linux
内核提供了84K - ~100K的
内存
。当
进程
使用给定的
内存
时,内核如何为堆栈
分配
更多的
内存
。当
进程
占用堆栈的所有
内存
并且现在使用下一个连续的
内存
时,理想情况下,它应该分页错误,然后内核处理分页错误。在这里,内核为给定
进程
的堆栈提供了更多的
内存
,
linux
内核中的哪个数据结构标识了该
进程
的堆栈的大小?
浏览 9
提问于2010-07-09
得票数 2
1
回答
在Solaris/
Linux
中释放
分配
的
内存
c
、
linux
、
solaris
、
free
我已经编写了一个小程序,并在Solaris/
Linux
平台上编译它,以测量将此代码应用于我的应用程序的性能。 程序就是这样写的,一开始用的是sbrk(0)系统调用,我取了堆区域的基址。之后,我使用malloc系统调用
分配
了1.5 GB的
内存
,然后使用memcpy系统调用将1.5 GB的内容复制到
分配
的
内存
区。然后,我释放了
分配
的
内存
。在Solaris中,即使我释放了
分配
的
内存
(接近1.5 GB),
进程
的堆大
浏览 0
提问于2010-06-01
得票数 4
回答已采纳
1
回答
如何使用写时复制最小化c++程序的
内存
消耗?
c++
、
linux
、
memory
、
optimization
、
profiling
每个fork都有来自fork时原始
进程
的
内存
空间的完整副本。分支很快,因为
Linux
在
进程
之间共享页面,并且只有在
修改
页面时才会创建新页面。实际上,对于我的应用程序来说,
内存
消耗的增长大约是3倍。一种想法是查看已
修改
页面的页面碎片。此外,还需要对forked
进程
中
分配
的内容进行暴力检查。在这两种情况下,您可以推荐哪些技术或工具来执行该分析?请记住,即使在并行的情况下,该程序也需要几个小时才能完成,并且
内存
占用量高达1
浏览 1
提问于2012-11-28
得票数 8
点击加载更多
相关
资讯
Linux 跨进程内存操作:核心方法与安全要点
Linux 内核将弃用并删除 SLOB 内存分配器
Redis 内存分配
查看 Linux 系统中进程和用户的内存使用情况
内存的分配策略
热门
标签
更多标签
云服务器
ICP备案
即时通信 IM
云点播
对象存储
活动推荐
运营活动
广告
关闭
领券