在解释非零 vmstat “si/so” 值时,有哪些有用的经验法则?这些值何时“正常”,何时又表明内存情况有问题?
当然,在一般情况下,这个问题很难回答,但我在寻找经验法则而不是确切的规则。
答案1
我的经验法则是“任何超过零的值都是不好的”。问题变成了“有多糟糕?”。对于 Web 服务器和数据库服务器来说,这非常糟糕,因为磁盘访问很可能对溢出的任何事务产生非常大的性能影响。事实上,它通常会造成滚雪球效应,直到内核出现 oom-kill 为止。
对于文件服务器或执行异步/批处理工作负载的程序,只要它不是持续发生,您可能就没问题。
请记住,vmstat 的第一行输出是平均值。只有当您传递秒数进行更新时,您才能开始查看是否正在发生交换现在。
如果您已经设置了 sysstat,“sar -B”将显示历史趋势。