我知道“空闲RAM是浪费RAM”的概念。我的问题是,操作系统如何快速有效地释放缓存的RAM,以便应用程序在使用高峰时有足够的RAM。
我们有一个在linux中托管的web应用程序。我们通常有10-20%的记忆利用率。但我们看到,当调用代码的某些部分时,峰值高达100%。(代码已被优化).I希望在发生这种情况时触发一封电子邮件。我应该编写一个脚本来监视内存使用情况,包括缓存,还是仅仅是应用程序内存?
当linux中出现内存不足错误时,是否意味着缓存内存为零,并且所有RAM都已分配给应用程序?
发布于 2017-10-09 13:33:26
操作系统能有多快有效率地释放缓存的RAM,以便应用程序在使用量激增的时候有足够的RAM?
除非您在Linux上使用ZFS,因为ARC可能没有足够快地收缩以吸收突然的RAM需求,否则内核用于释放缓存的时间是可以忽略不计的。
我应该编写一个脚本来监视内存使用情况,包括缓存,还是仅仅是应用程序内存?
我将同时监视应用程序内存和系统内存。当缓存减少以便为应用程序内存腾出空间时,性能可能会下降,因为需要更多的磁盘I/O。
当linux中出现内存不足错误时,是否意味着缓存内存为零,并且所有RAM都已分配给应用程序?
当出现内存不足时,大多数缓冲区/缓存已被释放/刷新,但这并不意味着应用程序使用了所有内存。内存的一部分仍由内核使用,可能是基于内存的文件系统,也可能是由某些硬件直接使用的。
https://unix.stackexchange.com/questions/396952
复制相似问题