MOTD - 显示内存使用情况,50-landscape-sysinfo 不包含交换信息

MOTD - 显示内存使用情况,50-landscape-sysinfo 不包含交换信息

我想显示不带交换信息的 MOTD,因为我的机器没有交换。

我找到了指向显示以下消息的ls /etc/update-motd.d/50-landscape-sysinfo文件的链接:/usr/bin/landscape-sysinfo

System load:  7.5               Processes:           434
Usage of /:   84.2% of 9.72GB   Users logged in:     1
Memory usage: 5%                IP address for eth0: 10.9.8.161
Swap usage:   0%

Graph this data and manage this system at:
  https://landscape.canonical.com/

ls /etc/update-motd.d/50-landscape-sysinfo我添加了和的内容/usr/bin/landscape-sysinfo 在 pastebin 上。我想Swap usage: 0%从此消息中删除,因为它可能会引起混淆。我不知道最好的方法是什么,有什么建议吗?

答案1

一种方法是禁用sysinfo插入处理交换使用情况。不幸的是,显示交换使用情况的插件也会处理内存使用情况,因此禁用它会同时禁用以下两项:

$ landscape-sysinfo  --exclude-sysinfo-plugins=Memory
  System load: 0.0                Users logged in:     3
  Usage of /:  56.0% of 15.62GB   IP address for eth0: 10.1.1.1
  Processes:   202

  Graph this data and manage this system at:
    https://landscape.canonical.com/

可以使用/etc/landscape/client.conf配置文件为 MOTD 进行设置:

[sysinfo]
exclude_sysinfo_plugins = Memory

/usr/bin/landscape-sysinfo另一种方法是通过编辑来处理 的输出/etc/update-motd.d/50-landscape-sysinfo(这实际上是 中文件的符号链接/usr/lib,因此升级时您的更改可能会丢失)。类似于:

/usr/bin/landscape-sysinfo | sed 's/Swap usage: *[0-9]+%//'

如果列表中还有一个项目(例如第二个网络接口),这也会导致难看的输出。

作为Kevin 指出,对于没有交换的具体情况,可以整理输出并简化表达式:

/usr/bin/landscape-sysinfo | sed 's/Swap usage: *0% *//'

这会将 Swap 条目旁边的任何条目移至 Swap 条目所在的位置。

相关内容