linux - 页面缓存限制

标签 linux page-caching

我正在使用内核为 3.2.1、x86_64 的 Ubuntu。我正在尝试对文件系统进行基准测试,我想限制页面缓存大小以避免文件系统缓存占用过多 RAM,这显然会提高性能(但不会反射(reflect)内存较少的系统的结果)。

有办法吗?我在某些 RHEL 发行版中看到了一个用于调整/proc/sys/vm/pagecaches 的选项,它似乎满足了这一点,但我在 Ubuntu 中没有看到任何有用的东西,除了 dirty_background_ratio,它只会触发刷新到磁盘,而不是更多缓存(所以我可以获得更多同步 I/O 等)

谢谢

最佳答案

ubuntu好像没有vm.pagecache设置

ls -l /proc/sys/vm/
total 0
-rw-r--r-- 1 root root 0 Jun 17 14:13 block_dump
--w------- 1 root root 0 Jun 17 14:13 compact_memory
-rw-r--r-- 1 root root 0 Jun 17 14:13 dirty_background_bytes
-rw-r--r-- 1 root root 0 Jun 17 09:16 dirty_background_ratio
-rw-r--r-- 1 root root 0 Jun 17 14:13 dirty_bytes
-rw-r--r-- 1 root root 0 Jun 17 14:13 dirty_expire_centisecs
-rw-r--r-- 1 root root 0 Jun 17 09:16 dirty_ratio
-rw-r--r-- 1 root root 0 Jun 17 09:16 dirty_writeback_centisecs
-rw-r--r-- 1 root root 0 Jun 17 14:13 drop_caches
-rw-r--r-- 1 root root 0 Jun 17 14:13 extfrag_threshold
-rw-r--r-- 1 root root 0 Jun 17 14:13 hugepages_treat_as_movable
-rw-r--r-- 1 root root 0 Jun 17 14:13 hugetlb_shm_group
-rw-r--r-- 1 root root 0 Jun 17 09:16 laptop_mode
-rw-r--r-- 1 root root 0 Jun 17 14:13 legacy_va_layout
-rw-r--r-- 1 root root 0 Jun 17 14:13 lowmem_reserve_ratio
-rw-r--r-- 1 root root 0 Jun 17 14:13 max_map_count
-rw-r--r-- 1 root root 0 Jun 17 14:13 memory_failure_early_kill
-rw-r--r-- 1 root root 0 Jun 17 14:13 memory_failure_recovery
-rw-r--r-- 1 root root 0 Jun 17 14:13 min_free_kbytes
-rw-r--r-- 1 root root 0 Jun 17 14:13 min_slab_ratio
-rw-r--r-- 1 root root 0 Jun 17 14:13 min_unmapped_ratio
-rw-r--r-- 1 root root 0 Jun 17 09:15 mmap_min_addr
-rw-r--r-- 1 root root 0 Jun 17 14:13 nr_hugepages
-rw-r--r-- 1 root root 0 Jun 17 14:13 nr_hugepages_mempolicy
-rw-r--r-- 1 root root 0 Jun 17 14:13 nr_overcommit_hugepages
-r--r--r-- 1 root root 0 Jun 17 14:13 nr_pdflush_threads
-rw-r--r-- 1 root root 0 Jun 17 14:13 numa_zonelist_order
-rw-r--r-- 1 root root 0 Jun 17 14:13 oom_dump_tasks
-rw-r--r-- 1 root root 0 Jun 17 14:13 oom_kill_allocating_task
-rw-r--r-- 1 root root 0 Jun 17 09:15 overcommit_memory
-rw-r--r-- 1 root root 0 Jun 17 14:13 overcommit_ratio
-rw-r--r-- 1 root root 0 Jun 17 14:13 page-cluster
-rw-r--r-- 1 root root 0 Jun 17 14:13 panic_on_oom
-rw-r--r-- 1 root root 0 Jun 17 14:13 percpu_pagelist_fraction
-rw-r--r-- 1 root root 0 Jun 17 14:13 scan_unevictable_pages
-rw-r--r-- 1 root root 0 Jun 17 14:13 stat_interval
-rw-r--r-- 1 root root 0 Jun 17 14:13 swappiness
-rw-r--r-- 1 root root 0 Jun 17 14:13 vfs_cache_pressure
-rw-r--r-- 1 root root 0 Jun 17 14:13 zone_reclaim_mode

您可以尝试以下方法:

vi /etc/sysctl.conf

vm.min_free_kbytes=1024
vm.swappiness = 100

然后运行

sysctl -p
vm.min_free_kbytes = 1024
vm.swappiness = 100

不确定它是否有任何帮助。

swapiness 100 当 ram 耗尽时将更多的应用程序数据交换到磁盘

关于linux - 页面缓存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17148091/

相关文章:

php - apc_store 在请求之间不工作

java - 如何在批处理文件中获取 Java 程序的退出状态

c++ - 将命令行的输出逐行读取到 C++ 中的字符串 vector 中

ruby-on-rails - 如何缓存渲染:json

linux - 设备映射器的“ioctl”签名

linux - Putty 在 Linux 终端中执行文本图 block

linux-kernel - linux页面缓存刷新顺序

ruby-on-rails - 如何在 Rails 的功能测试中启用页面缓存?

linux - 通过 O_DIRECT 读取是否首先刷新脏页?