linux – iotop显示kswapd0为99.99%,0%DISK READ和DISK WRITE

前端之家收集整理的这篇文章主要介绍了linux – iotop显示kswapd0为99.99%,0%DISK READ和DISK WRITE前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个沉重的postgres查询.运行需要十多分钟.我想升级我的硬件以使其运行得更快.我想更多RAM会有所帮助,但我的主板已满,所以我需要一个全新的主板.除非我知道我会得到更好的结果,否则我不想投资.这是我在iotop中看到的:
Total DISK READ:      46.81 M/s | Total DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                                                               
   27 be/4 root        0.00 B/s    0.00 B/s  0.00 % 99.99 % [kswapd0]
 2514 be/4 postgres   46.81 M/s    2.45 M/s  0.00 % 18.36 % postgres: postgres db1 127.0.0.1(55328) SELECT
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0]
    5 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/u:0]
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    8 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/1:0]
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/1]

注意kswapd0如何最大程度地击中硬盘(99.99%IO).但是,kswap0的DISK READ和DISK WRITE和SWAPIN都为零.什么是kswap0在做什么?它真的击中了我的硬盘吗?是否会为此系统添加更多RAM?

解决方法

你是从错误的角度接近这个.只有在优化了sql之后,才应该考虑在问题上投入更多的RAM / cpu /磁盘(I / O带宽) – 并在确定问题时解决问题.

首先询问Postgres到EXPLAIN(或EXPLAIN ANALYZE)它是如何执行查询的.
优化那些不受欢迎的小猫,然后如果你仍有性能问题进一步调查以确定瓶颈在哪里(sonassi gave you some good suggestions on stuff you should look at in addition to iotop).

如果您在同一台服务器上运行Web堆栈和DB,现在也是分拆它们的好时机……

猜你在找的Linux相关文章