linux的cached一直在增大,当到1.5G左右时候,开始回收,min_free_kbytes为88MB
时间: 2024-04-22 12:23:09 浏览: 13
这是一个比较常见的现象。Linux的Cached是一种文件系统缓存,在系统空闲时会将经常使用的文件数据缓存到内存中,以提高文件的读取效率。当系统内存不足时,Cached会被回收以释放空间供其他进程使用。min_free_kbytes参数指定了系统中可用内存最小值,当系统内存低于此值时,会开始回收Cached。
当Cached一直增大并在达到一定大小后开始回收,可能是因为系统中有某个进程占用了大量内存,导致系统内存不足,从而触发了Cached的回收机制。您可以通过top命令查看系统中的进程占用情况,找到占用内存较大的进程并考虑优化或限制其内存使用。
另外,也可以通过调整min_free_kbytes参数的值来控制Cached的回收时机,以适应不同的系统内存使用情况。
相关问题
PROCESS_STATE_CACHED_EMPTY
PROCESS_STATE_CACHED_EMPTY是一个整型常量,其值为16。它是Android操作系统中的一个进程状态,表示该进程当前处于空闲状态,没有任何活动。在Android系统中,进程状态的变化对于系统的性能和资源管理非常重要,可以通过ProcessObserver服务来监视进程状态的变化。
代码演示如下:
```java
// 定义一个整型常量
public static final int PROCESS_STATE_CACHED_EMPTY = 16;
// 在代码中使用该常量
if (processState == PROCESS_STATE_CACHED_EMPTY) {
// 进程处于空闲状态,执行相应的操作
...
}
```
Qcache_not_cached
Qcache_not_cached表示在查询缓存中找不到的查询次数。根据引用和引用的数据,Qcache_not_cached的值分别为0和2654。这意味着在查询缓存中找不到的查询次数为0或2654次。查询缓存是MySQL中的一个功能,它可以缓存查询的结果,当相同的查询再次执行时,可以直接从缓存中获取结果,从而提高查询的速度。然而,并非所有的查询都适合被缓存,一些查询可能会被MySQL判断为不适合缓存,从而导致Qcache_not_cached的增加。这些不适合被缓存的查询可能包括使用了不可缓存的函数、临时表或者不稳定的查询等。因此,Qcache_not_cached的增加可能意味着一些查询无法被缓存,可能需要对查询进行优化或者调整查询缓存的设置。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* [MySQL优化之缓存优化](https://blog.csdn.net/weixin_42165980/article/details/113557558)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
- *2* *3* [MySQL查询高速缓冲](https://blog.csdn.net/weixin_30477293/article/details/96263389)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]