使用 Rss 创建脚本以了解总内存消耗问题

使用 Rss 创建脚本以了解总内存消耗问题

我想创建一个脚本,打开 Firefox,从 txt 文件加载一些 URL,然后每 0.5 秒记录一些统计信息,例如 Firefox 实例数和总内存消耗(以 MB 为单位)。我希望将统计信息写入并保存在文件中。我知道如何查找内存消耗(grep /proc/"pid"/status VmRSS),但我不知道如何每 0.5 秒执行一次,然后将其写入文件。

答案1

我会使用ps(参见man ps)和 Gnu sleep(参见sleep --help):

# A way to exit the loop - anyone (any other `$USER` process) can rm /tmp/keepgoing
# output in /tmp/logfile
touch /tmp/keepgoing
while [[ -f /tmp/keepgoing ]] ; do
    # $ echo "$(date) $(date '+%N') $(ps -C firefox -o rss= )"
    # Mon Nov 21 19:42:48 EST 2016 185862805 538264
    echo "$(date) $(date '+%N') $(ps -C firefox -o rss= )" >>/tmp/logfile
    /bin/sleep 0.5
done

在 1 个终端窗口中启动该程序,然后使用xargs(参见man xargs)在另一个终端窗口中输入您的 URL 列表:

xargs -n 1 /usr/bin/firefox -new-tab </tmp/list-of-URLs.txt

等到所有 Firefox 选项卡都加载完成,然后:

pkill -9 firefox
rm /tmp/keepgoing

相关内容