是否可以在启动期间异步预加载一些共享对象?

是否可以在启动期间异步预加载一些共享对象?

如果我没记错的话,当多个进程使用同一个共享对象时,它不会被加载到内存中两次。是否可以在启动过程中将一些共享对象异步预加载到内存中,以便使用它们的进程启动得更快?

如果这会使启动时间稍微长一些,那也没关系,因为无论如何我都得先喝早茶。

答案1

是的,有时确实如此。看一眼https://www.linux.com/community/blogs/133-general-linux/757898-using-preload-to-speed-up-linux预载。这是一个做你想做的事情的例子。它并没有真正将它们加载到“执行”内存,而是加载到“文件缓存”内存,但这“足够接近”。

另一种方法是编译并使用共享库并在启动时加载二进制文件。真正的技巧是知道要加载哪些库。

另请参阅https://askubuntu.com/questions/110335/drawbacks-of-using-preload-why-isnt-it-included-by-default

这里也是如此。您可能不会获得您想要的好处。

相关内容