Memory Ubuntu没有';t不使用非活动内存并进行交换。为什么?

Memory Ubuntu没有';t不使用非活动内存并进行交换。为什么?,memory,ubuntu-16.04,swap,Memory,Ubuntu 16.04,Swap,我有什么: 1.Ubuntu 16.4(VPS)。 2.可用内存: 自由-m 零,但可用930。那是什么 让我们查看meminfo cat/proc/meminfo 我们可以在这里查看非活动内存。就是这样。Ubuntu使用页面缓存机制将来自磁盘的页面存储在内存中。它从磁盘加载数据,将其保存在内存中,并在需要时从内存中提供数据。活动表示频繁,非活动表示一旦加载,可在需要时释放并用于其他原因。在释放之前,如果有更改,则应将这些更改存储在磁盘中。听起来很好,应该很快 我们在内存中有什么数据 我有一个有

我有什么: 1.Ubuntu 16.4(VPS)。 2.可用内存:

自由-m 零,但可用930。那是什么

让我们查看meminfo

cat/proc/meminfo 我们可以在这里查看非活动内存。就是这样。Ubuntu使用页面缓存机制将来自磁盘的页面存储在内存中。它从磁盘加载数据,将其保存在内存中,并在需要时从内存中提供数据。活动表示频繁,非活动表示一旦加载,可在需要时释放并用于其他原因。在释放之前,如果有更改,则应将这些更改存储在磁盘中。听起来很好,应该很快

  • 我们在内存中有什么数据
  • 我有一个有很多图片的网站,搜索机器人总是搜索一些东西并打开很多页面。所以,我假设这是一个主要缓存在内存中的图像。让我们用vmtouch检查这一点:

    vmtouch上载/ 它看起来像1 GB的缓存!好啊一切看起来都很好。当然,不仅仅是图像,图像还可以占用1GB的磁盘空间

    问题: 我已经安装了监控收集。当我打开交换信息时,我会看到奇怪的东西

    蓝线意味着交换出去。交换是指系统获取页面并将其存储在磁盘上,然后将释放的内存用于其他工作。但它应该使用非活动内存!它应该释放非活动内存,而不是进行交换

    这条蓝线每5分钟一次。斯芬克斯的cron运行的时候到了。命令是:

    索引器--全部--旋转

    它为3个索引建立索引。每个都使用MySQL运行查询。表中有大约40000条记录要索引,所有这些记录在3个索引上拆分

    内存的使用情况如下所示:

    有时系统会释放内存。它看起来像图像上的绿色三角形空间。它比使用PageCache开始感觉更自由

    我将从ps命令(输出的一部分)显示内存使用情况:

    ps aux—排序—rss
    有人能帮我更深入地研究一下这种交换背后的原因吗?为什么ubuntu在这个操作中不使用非活动内存?

    小交换有什么问题吗?如果内核可以找到非常冷的页面,为什么要浪费内存


    似乎有很多关于交换的迷信——人们笃信没有交换系统会更好,等等。事实上,交换只是优化你的内存使用。Swapout对系统很好,因为它使物理内存可用于更重要的用途。OTOH,如果您看到非平凡的交换,那么您可能会遇到问题(但这不是进行交换或经历适度交换所固有的)。

    小交换没有问题。但当有1GB的非活动内存时,为什么ubuntu会进行交换呢?仅使用非活动内存比换出内存更快。不是吗?交换时,它将数据保存在磁盘中以备将来交换。但它可以在不进行此磁盘操作的情况下占用非活动内存。也许我错了,但这就是我对这一点的理解。适度调换是否有成本?不是真的。显然,所有的磁盘系统都是DMA,并且已经使用了几十年,所以基本上没有CPU开销。没有任何东西等待SO来完成(特别是因为磁盘写入已发布。)调出的页面可能永远不会调回。。。将交换出的页面视为真正不活动的内存。只是活动连续统上的另一层。您的系统将使用非活动内存,因此只允许系统使用更多非活动内存。
                  total        used        free      shared  buff/cache   available
    Mem:           2048         916           0         251     1131         930
    Swap:           512         183         328
    
    MemTotal:        2097152 kB
    MemFree:               0 kB
    Cached:          1092204 kB
    Buffers:               0 kB
    Active:           926032 kB
    Inactive:        1003456 kB
    Active(anon):     358948 kB
    Inactive(anon):   478336 kB
    Active(file):     567084 kB
    Inactive(file):   525120 kB
    Unevictable:        4440 kB
    Mlocked:           16716 kB
    SwapTotal:        524288 kB
    SwapFree:         337304 kB
    Dirty:              3664 kB
    Writeback:             0 kB
    AnonPages:        837284 kB
    Shmem:            257492 kB
    Slab:              69176 kB
    SReclaimable:      51680 kB
    SUnreclaim:        17496 kB
    
               Files: 947554
         Directories: 452
      Resident Pages: 336841/7859937  1G/29G  4.29%
             Elapsed: 15.938 seconds
    
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    mysql    25736 48.9 18.9 2587348 396632 ?      Sl   Aug01 2130:22 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
    sphinxs+   352  0.1  1.8 543592 39784 ?        Sl   May01 209:07 /usr/bin/searchd
    www-data 11926  1.3  1.4 388392 29636 ?        S    15:28   0:02 php /var/www/html/ma-ideals.com/index.php -p fb -t 10
    www-data 11322  0.1  0.7 449716 16568 ?        S    15:06   0:02 php-fpm: pool www
    www-data 11761  0.2  0.7 449716 15812 ?        S    15:21   0:01 php-fpm: pool www
    www-data 11535  0.1  0.7 449716 15432 ?        S    15:12   0:01 php-fpm: pool www
    www-data 11338  0.1  0.7 449712 15320 ?        S    15:07   0:02 php-fpm: pool www
    www-data 11478  0.1  0.6 447664 14548 ?        S    15:10   0:02 php-fpm: pool www