我们正在运行具有 23 个内核(cpuinfo 显示 22 为最高进程数)和 66 Gig RAM 的服务器。这里的开发团队正在运行一些占用内存的应用程序。
我观察到: 1. 即使内存运行非常低(可用内存 = 167 MB),也没有交换使用。想知道为什么服务器拒绝使用交换。对此有何想法?2.系统负载有时会增加到像 70+ 这样的数字,我可以看到这些应用程序是 I/O 密集型的..这会导致如此高的平均负载吗?
这是 VMstat 的输出
procs -----------内存----------- ---swap--- -----io---- --system--- -----cpu ------ rb swpd 免费 buff 缓存 si so bi bo in cs us sy id wa st 3 0 0 28932 1049 31757 0 0 6 145 6 33 1 0 98 0 0 .. .. 12 2 0 167 1876 57749 0 0 932 49604 2306 96856 26 8 58 7 0
meminfo 的输出
内存总量:66000044 kB MemFree:11824808 KB 缓冲区:1498068 kB 缓存:48842440 kB 交换缓存:0 kB 活跃:5350660 kB 非活动:46810284 kB 高总计:0 kB 高自由:0 KB 低总:66000044 kB 低免费:11824808 KB 交换总计:131074324 kB SwapFree:131074324 kB 脏:2641608 KB 回写:96 kB AnonPages:1819092 kB 映射:766660 kB 板块:1753100 KB 页表:131908 kB NFS_不稳定:0 kB 弹跳:0 kB 提交限制:164074344 KB Committed_AS:9460100 KB Vmalloc 总计:34359738367 kB Vmalloc 使用:336508 KB VmallocChunk:34359401823 KB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 超大页面大小:2048 kB
你读错了,几乎没有使用你的记忆。
MemTotal: 66000044 kB = 63GB available to the system
MemFree: 11824808 kB = 11GB with nothing at all used.
Buffers: 1498068 kB = 1.4GB
Cached: 48842440 kB = 46GB of data from the drive that is kept in otherwise unoccupied memory
SwapCached: 0 kB
Active: 5350660 kB = 5.1GB of memory that is actually used by applications.
Run Code Online (Sandbox Code Playgroud)
当您从磁盘读取数据时,它会进入内存。如果没有其他东西争用内存,则该文件将保留在内存中,直到应用程序尝试使用该空间。每当从磁盘读取文件时,都会首先检查缓存。
您几乎没有将内存用于应用程序,即使使用缓存,您也有很多剩余内存可以使用。您的服务器不应该在内存负载这么轻的情况下使用交换空间。
| 归档时间: |
|
| 查看次数: |
1749 次 |
| 最近记录: |