Natecat Asked: 2020-09-07 08:42:09 +0800 CST2020-09-07 08:42:09 +0800 CST 2020-09-07 08:42:09 +0800 CST 可执行文件以什么顺序从网络共享传输和执行? 772 在运行之前将可执行文件传输到本地计算机与直接从 SMB 共享运行它有什么区别。从共享运行它会将整个文件传输到一个临时位置然后执行它,还是从共享“流式传输”可执行文件,从而导致对带宽的影响延长更长的时间? windows network-share server-message-block 1 个回答 Voted Best Answer mikem 2020-09-07T09:31:54+08:002020-09-07T09:31:54+08:00 从共享运行可执行文件就像它在本地磁盘上一样。系统会将可执行文件加载到内存中并运行它。这不会改变可执行文件是否是远程的。 Windows 有一个基于内存的文件缓存。它将可执行文件连同它运行时所需的其他组件(即库 (DLL)、数据文件等)一起拉入该缓存。由于需要这些额外的组件,它们将在本地或远程读取...并在缓存中存储一段时间。 它不会将文件“复制”到本地磁盘位置然后执行它。它将它读入内存并立即执行。 至于带宽随时间的使用情况,这可能不是您认为的那样...... 假设可执行文件是一个小的单文件可执行文件,这意味着它没有任何需要的配置文件或自定义库。在这种情况下,无论您是在本地复制文件还是从共享中运行文件,传输的数据都大致相同。 但是,可以说它是一个复杂的软件应用程序,如 Office、Photoshop 等,其中需要大量较小的数据文件和库。在程序执行时,它会在需要时读取它需要的特定数据项。因此,随着时间的推移,基于共享的应用程序将继续通过网络读取数据,但每次读取通常会非常小。 当我们谈论持续的磁盘读取时,我前面提到的文件缓存开始发挥作用......本地或远程。缓存有助于减少重复磁盘读取的次数。对于具有大量库和配置文件从内存中推送和拉取的基于共享的应用程序,缓存可以减少网络流量,因为它会保留数据一段时间,以防再次需要它。 将此与复制文件然后在本地运行它进行比较。如果它是一个大型应用程序,这将没有多大意义,因为您每次需要使用它时都会进行非常大的文件传输(和安装)。对于您经常使用的应用程序,这将不是一个有趣的体验。 一般来说,网络带宽问题与其说是安装在共享上的应用程序,不如说是应用程序使用的数据问题。以 Photoshop 为例。从共享运行 Photoshop 毫不费力。从共享加载一个 500MB 的图像文件以在 Photoshop 中处理是另一回事。 这是对尝试回答您的问题的工作原理的简单化视图。我希望它有所帮助。
从共享运行可执行文件就像它在本地磁盘上一样。系统会将可执行文件加载到内存中并运行它。这不会改变可执行文件是否是远程的。
Windows 有一个基于内存的文件缓存。它将可执行文件连同它运行时所需的其他组件(即库 (DLL)、数据文件等)一起拉入该缓存。由于需要这些额外的组件,它们将在本地或远程读取...并在缓存中存储一段时间。
它不会将文件“复制”到本地磁盘位置然后执行它。它将它读入内存并立即执行。
至于带宽随时间的使用情况,这可能不是您认为的那样......
假设可执行文件是一个小的单文件可执行文件,这意味着它没有任何需要的配置文件或自定义库。在这种情况下,无论您是在本地复制文件还是从共享中运行文件,传输的数据都大致相同。
但是,可以说它是一个复杂的软件应用程序,如 Office、Photoshop 等,其中需要大量较小的数据文件和库。在程序执行时,它会在需要时读取它需要的特定数据项。因此,随着时间的推移,基于共享的应用程序将继续通过网络读取数据,但每次读取通常会非常小。
当我们谈论持续的磁盘读取时,我前面提到的文件缓存开始发挥作用......本地或远程。缓存有助于减少重复磁盘读取的次数。对于具有大量库和配置文件从内存中推送和拉取的基于共享的应用程序,缓存可以减少网络流量,因为它会保留数据一段时间,以防再次需要它。
将此与复制文件然后在本地运行它进行比较。如果它是一个大型应用程序,这将没有多大意义,因为您每次需要使用它时都会进行非常大的文件传输(和安装)。对于您经常使用的应用程序,这将不是一个有趣的体验。
一般来说,网络带宽问题与其说是安装在共享上的应用程序,不如说是应用程序使用的数据问题。以 Photoshop 为例。从共享运行 Photoshop 毫不费力。从共享加载一个 500MB 的图像文件以在 Photoshop 中处理是另一回事。
这是对尝试回答您的问题的工作原理的简单化视图。我希望它有所帮助。