在 bash 中,.bashrc
(和各种其他脚本)可以在 shell 启动时加载到内存中。这些可以是 10 行长,但可以是数百行(如果不是数千行)。每次导出都会消耗少量内存,每个函数和每个别名也会占用少量内存资源。另一个考虑因素是我们不能只看.bashrc
和其他脚本的大小,因为它们可能有很多不消耗内存的注释。
我想删除所有启动脚本,启动系统,等待几分钟让事情稳定下来,然后采取某种基线,然后将启动脚本放回原处,重新启动系统并执行相同的练习来尝试获得某种资源/性能差异。
您能否建议哪些工具可能有助于确定这一点?我有一组相对较大的启动脚本,大约 15k,定义了许多函数和别名,所以我真的很好奇有什么影响(如果有的话,作为一个具有 16 GB 内存和快速现代 Core i5 的现代系统,效果可能可以忽略不计)这对系统消耗的资源有影响吗?即使我的启动脚本的影响很小,我仍然希望能够采用基线,然后进行“负载测试”,以评估系统如何处理运行给定的一组应用程序。
您的启动脚本和由此产生的设置的影响将主要影响交互式 shell;要确定由此产生的资源消耗,您无需费尽心思。打开一个终端窗口,以便您的默认 shell 以其默认设置启动,然后在不加载启动脚本的情况下启动一个 shell,并从该 shell 运行
ps -F
:查看该
RSS
专栏显示我的 bash 设置(相当少)使用 124KiB 多于一个简单的 bash。我的 Zsh 设置更复杂:
那里的差异更大,2440KiB。
非交互式 shell 不会加载相同的启动脚本,而且它们也不会长期存在——如果你运行
ps -FC sh
等,ps -FC bash
你应该会看到没有很多(如果有的话)。您在环境中加载的内容可能会产生更大的影响;要了解这一点,请查看 的实际大小
/proc/.../environ
:对于将近一千个正在运行的进程,总共有 741KiB。