【问题标题】:How can i view all cpus in top using a script on a multi core machine如何在多核机器上使用脚本查看所有 cpu
【发布时间】:2018-06-03 06:38:17
【问题描述】:

我正在编写一个使用“top”命令的脚本。

当我使用 top 时,我可以看到平均 CPU 使用率:

CPU:41.9%us、9.4%sy、0.0%ni、48.8%id、0.0%wa、0.0%hi、0.0%si、0.0%st

我知道我可以按“1”分别查看每个 CPU:

Cpu0 : 8.8%us, 3.0%sy, 0.0%ni, 85.5%id, 2.6%wa, 0.0%hi, 0.1%si, 0.0%st

Cpu1 : 9.7%us, 3.2%sy, 0.0%ni, 83.6%id, 3.4%wa, 0.0%hi, 0.0%si, 0.0%st

但是当我不能使用按键时,如何将它集成到脚本中?

【问题讨论】:

    标签: linux multicore


    【解决方案1】:

    您可以按“W”保存当前状态。这将在您用户的主目录中生成一个.toprc 文件,这也意味着下次您以该用户身份运行 top 时,将显示所有核心。

    它看起来像:

    RCfile for "top with windows"           # shameless braggin'
    Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=3.000, Curwin=0
    Def     fieldscur=AEHIOQTWKNMbcdfgjplrsuvyzX
            winflags=30009, sortindx=10, maxtasks=0
            summclr=1, msgsclr=1, headclr=3, taskclr=1
    Job     fieldscur=ABcefgjlrstuvyzMKNHIWOPQDX
            winflags=62777, sortindx=0, maxtasks=0
            summclr=6, msgsclr=6, headclr=7, taskclr=6
    Mem     fieldscur=ANOPQRSTUVbcdefgjlmyzWHIKX
            winflags=62777, sortindx=13, maxtasks=0
            summclr=5, msgsclr=5, headclr=4, taskclr=5
    Usr     fieldscur=ABDECGfhijlopqrstuvyzMKNWX
            winflags=62777, sortindx=4, maxtasks=0
            summclr=3, msgsclr=3, headclr=2, taskclr=3
    

    您可以查看man top 以了解其中的大部分内容,或者只是拧紧顶部和“W”以查看另一端会出现什么。

    【讨论】:

    • 我保存了两个配置,看来单 CPU 设置的差异反映在 winflags 值上,在我的例子中是 193844 和 161076。
    • 我从来没有弄乱过这个文件,但我猜因为你的值与我的不同,winflags 可能是一个位掩码。我敢打赌,在那个整数中为那个设置翻转的那个位是同一个位。有趣的东西。
    猜你喜欢
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多