小编Met*_*est的帖子

通过mmap分配的内存是否可以与数据段重叠

malloc函数使用两者sbrkmmap函数.现在该sbrk函数增加或减少数据段.所以它线性增长.现在我的问题是,是否始终保持线性,或者例如,mmap调用可以分配与数据段重叠的内存?

我在谈论在多核系统上运行的多线程程序.此博客谈到的一些严重缺陷sbrk的多线程程序,并指出有可能与分配的内存sbrk可以存储与alloacted间杂mmap(sbrk,因为堆可能变得不连续mmaped区域或一个共享对象阻碍堆的增长).

c linux gcc

5
推荐指数
1
解决办法
1555
查看次数

地址空间布局随机化(ALSR)和mmap

我希望由于地址空间布局随机化(ALSR),从另一个进程分叉的进程将在调用时返回不同的地址mmap.但正如我发现的那样,事实并非如此.为此目的,我做了以下测试程序.返回的所有地址malloc对于父级和子级完全相同.需要注意的是,malloc对于CL1,CL2,PL1,PL2在内部使用mmap,因为他们是大块.

所以,我的问题是,mmap即使存在ALSR ,为什么不返回不同的地址.也许是因为这里的随机种子对于原始和分叉过程是相同的.或者还有其他原因吗?

int main()
{
  pid = fork();

  if (pid == 0)                // child
  {
    void * c1 = malloc( 4096 );
    void * c2 = malloc( 4096 );

    void * cl1 = malloc( (long)512e3 ); // internally uses mmap
    void * cl2 = malloc( (long)512e3 ); // internally uses mmap

    printf( "c1 = %p, c2 = %p, cl1 = %p, …
Run Code Online (Sandbox Code Playgroud)

c linux gcc x86-64 aslr

5
推荐指数
2
解决办法
2072
查看次数

用于优化性能的C++虚拟机

支持C#和Java等JITed语言的一个论点是它们可以更好地执行优化,因为虚拟机的运行时分析可以比静态优化的C++代码更好地优化代码.

但是,我想知道我们是否也可以使用虚拟机在运行时为C++优化代码,或者更确切地说是任何类似的语言.例如,我们可以使用LLVM编译器生成的IR,并创建一个解释,JIT和优化代码的虚拟机,就像Java和C#一样.

当然,没有垃圾收集,但优化因素就在那里.有没有人为此工作过.这有什么论文,工具吗?这种方法有多好?

c# c++ java jit llvm

5
推荐指数
2
解决办法
431
查看次数

客户端语言

我不是网络程序员,所以请原谅我的无知.在服务器端编程方面,我们有许多可用的技术,如PHP,ASP.net,JSP等.

但是,当涉及到客户端脚本时,我只听说过JavaScript和AJAX.也许您还可以包含Java Applet,因为它们在客户端上运行.一个相对较新的也是Google的原生客户端.但是还有更多的客户端技术存在并且很受欢迎吗?

programming-languages client-side web

5
推荐指数
1
解决办法
2380
查看次数

散列函数为64位到10位

我想要一个需要长数(64位)并产生10位结果的哈希函数.为此目的,最好的哈希函数是什么.输入基本上是变量的地址(地址在Linux上是64位或8字节),所以我的哈希函数应该为此目的进行优化.

c linux hash gcc x86-64

5
推荐指数
1
解决办法
4351
查看次数

您可以检查使用 Qemu Simulator 运行的程序的性能吗?

假设我正在使用 Qemu 运行 ARM 模拟器,是否可以找到程序的执行时间,就像它在真正的 ARM 处理器上一样。换句话说,如果我gettimeofday在模拟器上运行的程序中使用诸如 之类的功能来检查经过时间,经过的时间是否会通过周期精确模拟准确给出?

c linux arm qemu

5
推荐指数
1
解决办法
2572
查看次数

QEMU 可以在 VMWare 或 VirtualBox 上运行吗?

我想试用MARRS86,它是多核 x86 平台的周期精确模拟器。它使用QEMU。所以我想知道我是否可以在 VMWare 或 VirtualBox 中使用该模拟器。换句话说,有没有人试过在 VMWare 或 VirtualBox 中运行 QEMU?

c linux x86 qemu

5
推荐指数
1
解决办法
3229
查看次数

CPU缓存条目是否包含物理或虚拟地址?

CPU缓存是否处理物理或虚拟地址?如果它处理虚拟地址,这是否意味着它必须在上下文切换时清空,假设新线程来自另一个进程.

x86-64

5
推荐指数
1
解决办法
477
查看次数

如果RDD无法适应Spark中的内存会发生什么?

据我所知,Spark会尝试在内存中进行所有计算,除非您使用磁盘存储选项调用persist.但是,如果我们不使用任何持久性,当RDD不适合内存时,Spark会做什么?如果我们有非常庞大的数据怎么办?Spark如何处理它而不会崩溃?

hadoop scala bigdata apache-spark

5
推荐指数
1
解决办法
3811
查看次数

当存储级别设置为磁盘时,Spark会将数据存储在何处?

我想知道当存储级别设置为DISK_ONLY或MEMORY_AND_DISK时,Spark存储数据的目录(在这种情况下,数据不适合内存).因为我看到我设置的级别没有区别.如果程序崩溃MEMORY_ONLY级别,它也会崩溃所有其他级别.

在我正在使用的集群中,/ tmp目录是一个RAM磁盘,因此大小有限.Spark是否试图将磁盘级数据存储到该驱动器?也许,这就是为什么我没有看到差异.如果确实如此,我该如何更改此默认行为?如果我正在使用Hadoop附带的纱线群集,我是否需要更改hadoop配置文件中的/ tmp文件夹,或者仅使用Spark更改spark.local.dir?

hadoop scala bigdata hadoop-yarn apache-spark

5
推荐指数
1
解决办法
2246
查看次数

标签 统计

c ×5

linux ×5

gcc ×3

x86-64 ×3

apache-spark ×2

bigdata ×2

hadoop ×2

qemu ×2

scala ×2

arm ×1

aslr ×1

c# ×1

c++ ×1

client-side ×1

hadoop-yarn ×1

hash ×1

java ×1

jit ×1

llvm ×1

programming-languages ×1

web ×1

x86 ×1