Eri*_*rik 7 performance linux-kernel ram
我的电脑感觉真的很慢。根据free
,我只剩下大约 200M 的 RAM,并且必须换出超过 1GB 的内存。我知道如果内存用于缓存是好的,但这看起来我的内存真的很低。
root@desktop:/proc free -h
total used free shared buff/cache available
Mem: 3.9G 3.4G 132M 44M 378M 213M
Swap: 8.0G 1.2G 6.7G
Run Code Online (Sandbox Code Playgroud)
smem -tk
报告说应用程序最多使用 2GiB(RSS 列)。smem -wk
占所有使用的内存。显然内核使用 1.8GiB 不是为了缓存:
root@desktop:/proc smem -wk
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 1.9G 74.3M 1.8G
userspace memory 1.8G 250.9M 1.6G
free memory 173.9M 173.9M 0
Run Code Online (Sandbox Code Playgroud)
这种行为是否符合预期,如果是,内核需要这么多内存用于什么任务?
我不知道你为什么编辑free -h
缺少该行的输出命令-/+ buffers/cache
- 这很重要。无论如何我们可以继续。
只要“Free”列(在 Mem: 行上)>0,您的 RAM 就不会真正不足,因为这是绝对未使用的 RAM。众所周知,Linux 会使用它可以获得的所有 RAM(作为缓存,希望获得更好的性能)。
交换部分并没有说出全部真相:将大量代码+数据交换到磁盘是很常见的,因为它只运行一次并且有一段时间没有使用。Linux 的另一部分显示了它对 RAM 的性能的贪婪:它迅速踢掉了可能不重要的东西(同样,性能方面)。它是可调的(sysctl vm.swappiness),但大多数发行版默认为“毫不犹豫地交换”。
确认您的假设(由于缺乏可用 RAM 而缓慢)的重要因素是当前是否正在换入或换出到磁盘。大多数时候,很容易将迟缓与计算机上疯狂闪烁的磁盘联系起来。否则,运行top
并查看交换数据随时间的演变。更简单的是,vmstat 1
直接打印每秒的交换IO数据(swap si/so)。
归档时间: |
|
查看次数: |
464 次 |
最近记录: |