罕见的内存消耗

罕见的内存消耗

我遇到了一种奇怪的行为,这让我很抓狂。我试图在服务器启动时运行一些指南针监听器,我尝试了几种方法,所有方法都是以 root 用户身份进行的。

  1. 创建服务来运行“我的脚本”
  2. 从 /etc/rc.local 运行“我的脚本”
  3. 直接从 /etc/rc.local 运行命令
  4. 从 cron@restart 运行“我的脚本”
  5. 使用 root 用户从 ssh 会话手动运行“我的脚本”
  6. 使用 root 用户从 ssh 手动运行“我的脚本”的命令

除了内存消耗外,其他一切都按预期运行。

在最后两种情况下,从 ssh 运行脚本/命令,创建的 2 个分离屏幕消耗了我认为正常的内存消耗:

流程A

但在其他 4 种方式中,分离的屏幕会消耗非常高的资源:

流程 B

该命令非常简单(针对不同的文件夹运行两次):

screen -dm -S name_a compass watch /target_folder

请问,有人能告诉我可能发生什么事吗?

答案1

我对此一无所知compass,但有一些初步了解。

两种情况下的内存使用率似乎相似,均为 0.6%,但 CPU 使用率不同。

您启动的前 4 个会话和最后 2 个交互式 (“手动”) 会话有何不同:

  • 环境变量(export)会有所不同,shell(bash/ sh)也可能不同;
  • stdin//将在交互式登录中连接到您的终端,并在前 4 种情况下连接到。该命令是否需要输入或输出,并且处理缺乏输入或输出的情况效率低下stdoutstderr/dev/nullcompass

再说一遍,我不知道compass——只是一些想法。

相关内容