精华内容
下载资源
问答
  • linux 清除dns缓存.pdf

    2021-09-14 12:41:59
    linux 清除dns缓存.pdf
  • Linux 清除arp缓存

    2019-11-25 16:25:19
    Linux 清除arp缓存 使用ip命令清除某一网络接口的arp(下面命令是 eth0 接口) ip neigh flush dev eth0 Linux 清除arp缓存是把列表标记为(incomplete),在下一次系统清理垃圾是会清除。 ...

    Linux 清除arp缓存

    使用ip命令清除某一网络接口的arp(下面命令是 eth0 接口)

    ip neigh flush  dev eth0
    

    Linux 清除arp缓存是把列表标记为(incomplete),在下一次系统清理垃圾是会清除。

    展开全文
  • Linux清除Redis缓存

    2021-06-04 13:58:17
    Linux清除Redis缓存 查看正在运行的Redis进程:ps -ef|grep redis 查看Redis安装目录:ls -l /proc/xxxx/cwd xxxx 代表进程号 跳转到Redis目录: cd xx/xx/xx 进入Redis: ./redis-cli 查询当前...
    1. 查看正在运行的Redis进程:ps -ef|grep redis
      在这里插入图片描述

    2. 查看Redis安装目录:ls -l /proc/xxxx/cwd

      xxxx 代表进程号
      在这里插入图片描述

    3. 跳转到Redis目录: cd xx/xx/xx
      在这里插入图片描述

    4. 进入Redis: ./redis-cli
      在这里插入图片描述

    5. 查询当前Redis中key的数量: dbsize
      在这里插入图片描述

    6. 清除Redis数据: flushall
      在这里插入图片描述

    7. 退出Redis: exit
      在这里插入图片描述

    展开全文
  • linux 清除 arp 缓存

    2020-06-02 15:47:26
    所有在Linux系统下 arp -d $ip 命令只能清除一个IP地址的对应MAC地址缓存,可以使用组合命令操作。 ...Linux 清除arp缓存是把列表标记为(incomplete),在下一次系统清理垃圾是会清除。 1-9 ↩︎

    所有在Linux系统下 arp -d $ip 命令只能清除一个IP地址的对应MAC地址缓存,可以使用组合命令操作。

    组合命令清楚所有arp缓存:

    arp -n|awk ‘/1/{system("arp -d "$1)}’
    1
    以上命令必须 root 才可以执行。

    使用ip命令清除某一网络接口的arp(下面命令是 eth0 接口)

    ip neigh flush dev eth0
    1
    Linux 清除arp缓存是把列表标记为(incomplete),在下一次系统清理垃圾是会清除。


    1. 1-9 ↩︎

    展开全文
  • 前面提及了字段过滤缓存,那么与之相反的清楚缓存策略单一索引缓存,多索引缓存和全部缓存清理1.清空全部缓存curl localhost:9200/_cache/clear?pretty{"_shards" : {"total" : 72,"successful" : 72,"failed" : 0...

    前面提及了字段过滤缓存,那么与之相反的清楚缓存策略

    单一索引缓存,多索引缓存和全部缓存的清理

    1.清空全部缓存

    curl localhost:9200/_cache/clear?pretty

    {

    "_shards" : {

    "total" : 72,

    "successful" : 72,

    "failed" : 0

    }

    }

    2.清除单一索引缓存

    curl localhost:9200/index/_cache/clear?pretty

    {

    "_shards" : {

    "total" : 2,

    "successful" : 2,

    "failed" : 0

    }

    }

    3.清除多索引缓存

    curl localhost:9200/index1,index2,index3/_cache/clear?pretty

    {

    "_shards" : {

    "total" : 12,

    "successful" : 12,

    "failed" : 0

    }

    }

    当然了清楚缓存时也可以添加参数使之清楚对用的缓存并非所有的

    filter:此类缓存可以设置filter参数为true来清理,相反的不需要清楚此类缓存那么可以设置参数为false来保留此类缓存

    field_data:此类缓存可以设置filter参数为true来清理,相反的不需要清楚此类缓存那么可以设置参数为false来保留此类缓存

    bloom:此类缓存可以设置filter参数为true来清理(如果某种倒排索引格式中引用了bloom filter则可能使用此类缓存),相反的不需要清楚此类缓存那么可以设置参数为false来保留此类缓存

    fields:清楚字段相关的缓存,可以为单个或者多个字段,多个字段的时候用逗号隔开(英文)

    上述参数使用格式(可以使用一个或者多个参数)

    curl localhost:9200/index/_cache/clear?pretty&filter=false&field_data=true&bloom=false&fields=tag,name

    Elasticsearch 三种缓存介绍:Query Cache、Request Cache、Fielddata Cache

    一、Query Cache

    Query Cache也称为Filter Cache,顾名思义它的作用就是对一个查询中包含的过滤器执行结果进行缓存。

    比如我们常用的term,terms,range过滤器都会在满足某种条件后被缓存,注意,这里的bool过滤器是不会被缓存的,但bool过滤器包含的子query clause会被缓存,我们可以用下面的命令来查询Query Cache的情况。

    http://192.168.0.109:9200/_stats/query_cache?pretty&human

    举个栗子,看下面的查询

    {

    "from": 0,

    "size": 5,

    "query": {

    "bool": {

    "filter": {

    "bool": {

    "must": [

    {

    "term": {

    "productID": "JODL-X-1937-#pV7"

    }

    },

    {

    "range": {

    "price": {

    "from": 20,

    "to": null,

    "include_lower": true,

    "include_upper": true

    }

    }

    }

    ]

    }

    }

    }

    }

    }

    上面有两个过滤器一个Term过滤器用来过滤productID为“JODL-X-1937-#pV7” 的产品,一个range过滤器用来过滤价格在20以上的产品,在这个例子中这两个过滤器执行的结果会分别作为一个BitSet(位图)缓存,返回的查询结果则是这两个位图交集。

    上面提到Filter Cache只会在满足某种条件下才会被缓存,至于是哪些条件这里就不介绍了,想了解的童鞋戳下面链接。

    二、Request Cache

    当一个查询发送到ES集群的某个节点上时,这个节点会把该查询扩散到其他节点并在相应分片上执行,我们姑且把在分片上执行的结果叫“本地结果集“,这些本地结果集最终会汇集到最初请求到达的那个协调节点,这些“分片级”的结果集会合并成“全局”结果集返回给调用端。

    Request Cache模块就是为了缓存这些“分片级”的本地结果集,但是目前只会缓存查询中参数size=0的请求,所以就不会缓存hits 而是缓存 hits.total,aggregations和suggestions

    缓存失效

    Request Cache是非常智能的,它能够保证和在近实时搜索中的非缓存查询结果一致。这句话读起来很难懂,简单解释下。

    我们都知道ES是一个“near real-time”(近实时)搜索引擎,为什么是近实时搜索呢,那是因为当我们向ES发送一个索引文档请求到这个文档变成Searchable(可搜索)默认的时间是1秒,我们可以通过index.refresh_interval参数来设置刷新时间间隔,也就是说我们在执行一个搜索请求时实际上数据是有延迟的。回到刚才的问题,刚才那句话其实指的就是:ES能保证在使用Request Cache的情况下的搜索结果和不使用Request Cache的近实时搜索结果相同,那ES是如何保证两者结果相同的呢?继续……

    Request Cache缓存失效是自动的,当索引refresh时就会失效,也就是说在默认情况下Request Cache是每1秒钟失效一次(注意:分片在这段时间内确实有改变才会失效)。也就是说当一个文档被索引到该文档变成Searchable之前的这段时间内,不管是否有请求命中缓存该文档都不会被返回,正是是因为如此ES才能保证在使用Request Cache的情况下执行的搜索和在非缓存近实时搜索的结果一致。

    如果我们把索引刷新时间设置得越长那么缓存失效的时间越长,如果缓存被写满将采用LRU策略清除。当然我们也可以手动设置参数indices.request.cache.expire指定失效时间,但是基本上我们没必要去这样做,因为缓存在每次索引refresh时都会自动失效。

    下面的命令可以手动清除缓存

    curl -XPOST 'localhost:9200/kimchy,elasticsearch/_cache/clear?request_cache=true'

    缓存使用

    在默认情况下Request Cache是关闭的,我们需要手动开启

    curl -XPUT localhost:9200/my_index/_settings -d'

    { "index.requests.cache.enable": true }

    '

    开启缓存后,我们需要在那些需要缓存的搜索请求上加上request_cache=true这个参数才能使我们的查询请求被缓存,比如:

    curl 'localhost:9200/my_index/_search?request_cache=true' -d'

    {

    "size": 0,

    "aggs": {

    "popular_colors": {

    "terms": {

    "field": "colors"

    }

    }

    }

    }'

    注意1:上面的参数size:0非常重要必须强制指定才能被缓存,否则请求是不会缓存的。

    注意2(重要):在使用script执行查询时一定要指定request_cache=false,因为脚本的执行结果是不确定的(比如使用random函数或使用了当前时间作为参数),这种情况下应该避免使用缓存

    缓存的Cache Key

    对于Request Cache来说,它的Cache Key就是整个查询的DSL语句,所以如果要命中缓存查询生成的DSL一定要一样,这里的一样是指DSL这个字符串一样。只要有一个字符或者子查询的顺序变化都不会命中缓存。

    通过下面的参数我们可以设置缓存的大小,默认情况下是JVM堆的1%大小,当然我们也可以手动设置在elasticsearch.yml文件里

    indices.requests.cache.size: 1%

    Request Cache总结:

    Request Cache是一个“分片级”的缓存

    Request Cache是一个面向请求的缓存,缓存的key是查询DSL字符串

    Request Cache默认没有开启,需要手动开启,且要缓存生效需要在请求参数上加上request_cache=true并把size设置为0

    缓存是自动失效的,失效时间就是索引的refresh时间(index.refresh_interval),在分片有改变的情况下默认是1秒失效一次

    缓存的默认大小是JVM堆内存的1%,可以通过参数indices.request.cache.expire 手动设置

    三、Fielddata

    一谈到Fielddata我们不得不提到doc_values,这两者的作用都是一样:能够让我们在inverted index(倒排索引)的基础之上做aggregation、sort或者在查询中通过script访问doc属性,这里我们不讨论doc_values,主要讲下Fielddata,doc values相关知识请戳:http://blog.csdn.net/chennanymy/article/details/52555055

    想必大家都知道倒排索引这种结构,如果我们仅仅依靠倒排是很难在查询中做到排序和统计的,因为它并不是像关系型数据库那样采用“列式存储”,而是基于一个“词”到“文档”的倒排。

    Fielddata是专门针对分词的字段在query-time(查询期间)的数据结构的缓存。当我们第一次在一个分词的字段上执行聚合、排序或通过脚本访问的时候就会触发该字段Fielddata Cache的加载,这种缓存是“segment”级别的,当有新的segment打开时旧的缓存不会重新加载,而是直接把新的segement对应的Fielddata Cache加载到内存。

    加载Fielddata Cache是一个非常昂贵的操作,一旦Fielddata被加载到内存,那么在该Fielddata Cache对应的Segement生命周期范围内都会驻留在内存中。也就是说当段合并时会触发合并后更大段的Fielddata Cache加载。

    Fielddata会消耗大部分的JVM堆内存,特别是当加载“高基数”的分词字段时(那些分词后存在大量不同词的字段),针对这种字段的聚合排序其实是非常没有意义的,我们更多的要去考虑是否能用not_analyzed代替(这样就可以使用doc_values实现聚合、排序)。

    默认情况下Fielddate Cache是默认开启的,我们可以通过下面的设置来关闭,关闭后就无法对分词字段执行聚合、排序操作了。

    PUT my_index

    {

    "mappings": {

    "my_type": {

    "properties": {

    "text": {

    "type": "string",

    "fielddata": {

    "format": "disabled"

    }

    }

    }

    }

    }

    }

    在ES1.X里面除了string类型其他类型也是使用Fieldata的,在ES2.X中除了分词的String类型字段,其他类型都使用doc_values。

    Fielddata的加载方式有3种:

    1.lazy: 懒加载是默认的加载方式,当第一次使用时加载

    2.eager:预加载模式是当一个新的索引段变成Searchable之前会被加载

    3.eager_global_ordinals:全局序数预加载模式,这种方式能生成一份全局序数表,可降低内存使用。

    如下设置为eager_global_ordinals

    PUT my_index

    {

    "mappings": {

    "my_type": {

    "properties": {

    "text": {

    "type": "string",

    "fielddata": {

    "loading": "eager_global_ordinals"

    }

    }

    }

    }

    }

    }

    Fielddata也可指定满足某些条件的term才被加载进内存

    1.通过词频加载

    PUT my_index

    {

    "mappings": {

    "my_type": {

    "properties": {

    "tag": {

    "type": "string",

    "fielddata": {

    "filter": {

    "frequency": {

    "min": 0.001,

    "max": 0.1,

    "min_segment_size": 500

    }

    }

    }

    }

    }

    }

    }

    }

    上面的设置表示词频在0.001到0.1之间的且段持有的文档数在500以上的term会被加载到内存。

    2.通过正则表达式加载

    PUT my_index

    {

    "mappings": {

    "my_type": {

    "properties": {

    "tweet": {

    "type": "string",

    "analyzer": "whitespace",

    "fielddata": {

    "filter": {

    "regex": {

    "pattern": "^#.*"

    }

    }

    }

    }

    }

    }

    }

    }

    上面的设置表示只有满足pattern的词才会被加载到内存。

    Fielddata Cache设置

    1.indices.fielddata.cache.size:此参数设置缓存大小(默认是不限制)。可设置百分数如30%,或者数字12GB

    2.indices.breaker.fielddata.limit:此参数设置Fielddata断路器限制大小(公式:预计算内存 + 现有内存 <= 断路器设置内存限制),默认是60%JVM堆内存,当查询尝试加载更多数据到内存时会抛异常(以此来阻止JVM OOM发生)

    3.indices.breaker.fielddata.overhead:一个常数表示内存预估值系数,默认1.03,比如预计算加载100M数据,那么100*1.03=103M会用103M作为参数计算是否超过断路器设置的最大值。

    展开全文
  • linux 清理服务器缓存

    2020-09-16 20:20:20
    使用方法 /proc/sys/vm/drop_caches默认是0 free -m 查看linux内存使用情况 cat /proc/sys/vm/drop_caches echo 0 > /proc/sys/vm/drop_caches
  • Linux清除arp缓存

    2017-04-01 21:34:00
    Linux下arp -d $ip必须指定IP地址才能执行这条命令的此参数,所有在Linux系统下arp -d $ip命令只能清除一个IP地址的对应MAC地址缓存,当然可以使用组合命令操作,这也算是Linux的一个优点吧。 组合命令清除所有...
  • Linux清理cached缓存

    千次阅读 2017-04-26 10:23:06
    运行sync将dirty的内容写回硬盘 $sync 通过修改proc系统的drop_caches清理free的cache root@xxx:~# sync root@xxx:~# free -m  total used free shared buffers cached Mem: 2002
  • linux 清除dns缓存

    2021-02-17 20:14:04
    通常有的时候我们通过域名打不开网页,有可能使DNS缓存的原因(DNS解析的ip地址变了),解决办法如下: 方法一:$nslookup ecafe.pub (这里是要打开的域名) 方法二:$sudo /etc/init.d/nscd restart 或者:$...
  • 在本篇文章里小编给大家整理了关于Linux系统清除缓存的方法和实例内容,需要的朋友们参考下。
  • Linux清除系统缓存

    2018-03-09 14:25:11
    1)缓存机制介绍在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果没有则...
  • linux清理缓存

    2020-08-05 09:08:36
    /proc/sys/vm/drop_caches #清理缓存 linux系统在使用的过程中,经常会遇到明明系统运行只使用了几G的内存,但查看剩余内存时只有几百兆的情况,虽说这是linux对于内存使用的优化,但大多数情况下这种优化会让新...
  • linux清除系统缓存

    2013-08-29 13:45:04
    linux清除系统缓存 sync &amp;&amp; echo 3 &gt;/proc/sys/vm/drop_caches &amp;&amp; sleep 2 &amp;&amp; echo 0 &gt;/proc/sys/vm/drop_caches
  • linux清除缓存

    千次阅读 2019-08-13 16:49:26
    1、查看缓存情况:free -m 2、sync:sync 3、清除缓存:echo 3 > /proc/sys/vm/drop_caches
  • 清除yum缓存 清理yum缓存使用yum clean 命令,yum clean 的参数有headers, packages, metadata, dbcache, plugins, expire-cache, rpmdb, al yum clean headers #清理/var/cache/yum的headers yum clean packages ...
  • Linux系统清除缓存

    千次阅读 2018-07-21 10:16:46
    Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果没有则通过驱动程序直接...
  • Linux 怎么清理缓存

    2021-01-01 15:21:13
    linux清理缓存的命令 查看缓存的命令  free -m 清理缓存的命令   echo 1 >/proc/sys/vm/drop_caches echo 2 >/proc/sys/vm/drop_caches echo 3 >/proc/sys/vm/drop_caches echo 0 是不释放缓存 ...
  • linux 清除内存缓存

    千次阅读 2018-10-18 22:28:31
    sync; echo 3 &gt; /proc/sys/vm/drop_caches
  • Linux清理缓存

    2019-10-15 10:41:19
    一、清理缓存前应该先:sync 解释: 系统操作时会把你的操作到的文件资料先保存到buffer,要先把buffe中的数据先写入到硬盘中 二、清理缓存:echo 3 > /proc/sys/vm/drop_caches 解释: echo 0 是不释放缓存 echo...
  • Linux如何清除缓存

    2018-07-10 13:10:00
    Linux如何清除缓存[root@EzsDemo ~]# free -m total used free shared buffers cached Mem: 7872 7725 146 0 3 1274 -/+ buffer...
  • packagecom.example.a.myapplication.util;importandroid.content.Context;importandroid.os.Environment;importjava.io.File;importjava.math.BigDecimal;importstaticandroid.os.Environment.getExternalSt...
  • Linux清除缓存命令

    千次阅读 2018-08-28 10:47:48
    清除linux缓存命令 命令 #sync  #echo 3 &gt; /proc/sys/vm/drop_caches   查看内存情况: # more /proc/meminfo # less /proc/meminfo   Kernels 2.6.16 and newer provide a mechanism to ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,809
精华内容 40,723
关键字:

linux清理旧缓存

linux 订阅