我只是好奇,我在unix中有一个大约9MB的二进制可执行文件。这是否被认为是一个很大的内存占用?客户端将调用它来生成一些值,并随后在其他地方将消息排队。我只是好奇,谁应该知道什么时候对程序来说内存占用太大,然后不得不提供静态库而不是可执行文件?
发布于 2010-06-21 22:10:56
一切都是相对的。如果应用程序运行在内存为8MB的机器上,则占用空间很大。如果应用程序运行在内存为64 It的机器上,则不会很大。但是,即使在64 be的RAM机器上,如果大部分RAM已经被一些巨大的Oracle实例(例如)吞噬,那么它也可能很大。
您还应该考虑到,这些9MB中只有一部分实际加载到RAM中-- readelf或objdump实用程序可以显示确切的加载大小。
发布于 2010-06-21 22:08:52
这一切都取决于你从这9MB中得到了多少价值。例如,如果文件添加了几个数字,那么肯定太大了。然而,在服务器可以轻松地拥有超过8 8GB内存的今天,9MB并不是那么多。
作为比较,仅仅启动一些VM就可以使用超过50MB的内存。
发布于 2010-06-21 22:36:03
早在1996年,我就经常为一家顶级CAD/CAM供应商创建可执行文件(静态链接),根据平台的不同,这些文件的大小通常在32到50MB之间。是的,在内存是每MB 40美元的时候,我们设法用我们的程序填满了系统。在1996年。有鉴于此,我今天看到的所有wrt软件膨胀都让我恼火,因为这个程序在启动时做的比大多数人一整天做的都多。:-)
所以,除非它是"helloworld.exe",否则现在9MB不是很多。
https://stackoverflow.com/questions/3085315
复制相似问题