如图,由于内存不足杀掉了我的进程,但是使用free 查看的时候虽然free不多了,但是available还有很多内存,操作系统不会使用available的内存吗?
杀掉的是我跑在k8s里的进程
如图,由于内存不足杀掉了我的进程,但是使用free 查看的时候虽然free不多了,但是available还有很多内存,操作系统不会使用available的内存吗?
杀掉的是我跑在k8s里的进程
Free 内存是当前不用于任何的内存量。这个数字应该很小,因为没有使用的内存只是浪费了。
Available 内存是可用于分配给新进程或现有进程的内存量。但需要注意的是,Available 内存是估计的可用于启动新应用程序的内存量,无需交换。与 Buff 或 Free 字段提供的数据不同,此字段考虑了页面缓存,并且由于是正在使用的项目,并非所有可回收的内存块都将被回收再分配。
如果你是在kubernetes下运行程序,首先要看对每个pod是否设了内存上限,如
apiVersion: v1
kind: LimitRange
metadata:
name: mem-limit-range
spec:
limits:
- default:
memory: 512Mi
defaultRequest:
memory: 256Mi
type: Container
其次你查看free时,是被杀前还是被杀后啊?
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.4k 阅读✓ 已解决
2 回答820 阅读✓ 已解决
2 回答3.3k 阅读
我重启了下,可用内存变大了,但实际上跑的东西没变少,不知道什么原因