MOTD--显示内存使用情况

MOTD--显示内存使用情况

在 Bash 脚本方面我是新手,所以我希望有人能帮助我。

我有一台运行 11.04 的服务器,我当天的消息包括当前使用了多少内存:

System information as of Tue Sep 24 10:58:28 MDT 2013

  System load:  0.0                Processes:           90
  Usage of /:   16.6% of 19.68GB   Users logged in:     0
  Memory usage: 49%                IP address for eth0: XX.XX.XX.XX
  Swap usage:   12%                IP address for eth1: XX.XX.XX.XX

我启动了另一台运行 13.04 的服务器,但该消息不存在。因此,我研究了如何添加它,并在我的 11.04 服务器上发现/etc/update-motd.d有一个指向脚本的链接/usr/share/landscape/landscape-sysinfo.wrapper

#!/bin/sh
cores=$(grep -c ^processor /proc/cpuinfo 2>/dev/null)
[ "$cores" -eq "0" ] && cores=1
threshold="${cores:-1}.0"
if [ $(echo "`cut -f1 -d ' ' /proc/loadavg` < $threshold" | bc) -eq 1 ]; then
    echo
    echo -n "  System information as of "
    /bin/date
    echo
    /usr/bin/landscape-sysinfo
else
    echo
    echo " System information disabled due to load higher than $threshold"
fi

我将此脚本添加到我的 13.04 服务器,但脚本一定是在某处出错了,因为它显示“其他”消息,“由于负载高于 1.0,系统信息被禁用”。两台服务器的规格相同,除了它们运行的​​ Ubuntu 版本不同。我如何在 13.04 系统上编辑此脚本以使其显示当前内存使用情况?

更新:

看起来 13.04 没有景观。我运行了dpkg -l | grep landscape,没有结果。11.04 正在运行。所以我想问题是,如何在没有景观的情况下显示内存使用情况?

答案1

我不知道为什么你的dpkg命令没有返回landscape-common包,因为它确实存在在 Raring 和拥有该/usr/bin/landscape-sysinfo文件

使用以下命令安装:

sudo apt-get install landscape-common

答案2

如果你想以横向的方式显示你的内存使用情况:

free -k | {
    read ; read TITLE TOTAL USED REST
    echo "Memory usage: $(( 100 * $USED / $TOTAL ))%"

    #you also want swap displayed ?  No problem

    read ; read TITLE TOTAL USED REST
    echo "Swap usage:   $(( 100 * $USED / $TOTAL ))%"

}

相关内容