我正确地认为,如果我们使用
ASLR,在内核加载它们时,dll会再次被重新绑定,在我们的构建过程中没有任何意义重新构建我们的dll
我担心我们的应用程序经常用于终端服务机器.因此,如果在加载时出现rebase,我们可能会为每个进程加载dlls(最终会有一个进程).这将导致比我们要支付的更多的内存使用和分页.我需要关心吗?
我发现以下博客文章说,只有发生一次,而且系统范围广泛:Matt Evans – Enabling ASLR for memory savings?.我还没有看到任何其他的引用,所以只是想确保如果我使用ASLR,不要在我们的构建我不会在终端服务盒子上引起内存问题?
所以根据我的阅读,你不应该有问题. ASLR导致dll被加载到半随机存储器地址,并且不应该只是为每个进程启动rebasing.如果你想检查内存使用dll的是一个免费的工具,称为MassiveRebase,它允许您动态加载两个DLL并查看有关其内存使用的信息.旨在查看asr可能对内存的更改.
该工具和更多关于它可以在这里找到: http://www.tmurgent.com/appv/index.php/en/resources/tools/137-massive-rebase
该工具和更多关于它可以在这里找到: http://www.tmurgent.com/appv/index.php/en/resources/tools/137-massive-rebase
希望这可以帮助.