【问题标题】:How to get sar command value in 24 hour format (from 00:00:00 to 23:59:59) in Linux?如何在 Linux 中获取 24 小时格式(从 00:00:00 到 23:59:59)的 sar 命令值?
【发布时间】:2015-03-21 11:28:41
【问题描述】:

我想生成一个包含cpu usage 24 小时格式日志的文件(从00:00:0023:59:59)。我正在使用sar 命令,但它以 AM 或 PM 格式提供时间,这不是必需的。

示例:

12:01:01 AM     all      1.33      0.00      1.06      0.24      0.00     97.37
12:02:01 AM     all      1.30      0.00      1.02      0.04      0.00     97.64

预期结果:

00:01:01 all      1.33      0.00      1.06      0.24      0.00     97.37
00:02:01 all      1.30      0.00      1.02      0.04      0.00     97.64

【问题讨论】:

    标签: linux time


    【解决方案1】:

    sar 程序是所谓的语言环境感知程序。这意味着它的输出格式由LC_* 环境变量控制。变量LC_TIME负责时间数据的输出。 (见man locale)。

    看起来您使用的系统将LC_TIME 设置为en_US - 使用12hours AM/PM format 的区域设置(或LC_TIME 保持为空,这将导致使用默认区域设置)。您需要使用使用 24 小时格式的区域设置。可以说en_UK。您可以在命令行中指定它:

    LC_TIME=en_UK.utf8 sar
    

    输出:

    Linux 3.13.0-44-generic (desktop1)  01/22/15    _x86_64_    (4 CPU)
    
    00:00:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
    00:02:01        all      2,26      0,00      0,41      0,71      0,00     96,63
    00:04:01        all      2,68      0,00      0,72      0,46      0,00     96,13
    ...
    

    注意!如果您的系统上没有语言环境en_UK.uft8,您需要使用以下命令生成它:

    sudo locale-gen en_UK.utf8
    

    或者您可以使用POSIXC

    LC_TIME='POSIX' sar
    LC_TIME='C' sar
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-05
      • 2021-09-04
      • 2014-08-09
      • 2021-06-11
      • 1970-01-01
      • 2023-02-25
      • 1970-01-01
      • 2013-12-06
      相关资源
      最近更新 更多