Linux如何清理ARP缓存?

Linux如何清理ARP缓存?,第1张

命令红色字体标记

系统初始arp环境

[root@esx ~]# arp -n

Address                 HWtype  HWaddress             Flags Mask Iface

192.168.1.175           ether   00:24:1D:97:B6:7F   C  vswif0

192.168.1.120           ether   00:1F:C6:3A:DC:81      C  vswif0

192.168.1.51            (incomplete)         vswif0

执行清除所有arp 缓存命令

[root@esx ~]# arp -n|awk '/^[1-9]/{print "arp -d  " $1}'|sh -x

+ arp -d 192.168.1.175

+ arp -d 192.168.1.120

+ arp -d 192.168.1.51

Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。

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

[html] view plaincopy

arp -n|awk '/^[1-9]/{system("arp -d "$1)}'

以上命令必须 root 才可以执行。

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

[html] view plaincopy

ip neigh flush  dev eth0

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

第一步:先执行sync命令

#sync

sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息,以防止释放,sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。

第二步:清理linux内存缓存

#echo 3 >/proc/sys/vm/drop_caches

一般系统是不会自动释放内存的

关键的配置文件/proc/sys/vm/drop_caches。这个文件中记录了缓存释放的参数,默认值为0,也就是不释放缓存。他的值可以为0~3之间的任意数字,代表着不同的含义:

0 – 不释放

1 – 释放页缓存

2 – 释放dentries和inodes

3 – 释放所有缓存

此指令输入立即生效,意在释放所有缓存。

第三步:关闭swap,再开启swap

(如果只是清理swap,第二部可以不用进行 *** 作,因为 *** 作了第二步关闭swap时会使用更长的时间)

#swapoff -a  这一步因为是后台 在一点一点的释放,如果配置的swap超大,这里就等待得超久一些

#swapon -a  再开启

linux什么时候开始使用虚拟内存(swap)

A.[root@wenwen ~]# cat /proc/sys/vm/swappiness

60

上面这个60代表物理内存在使用60%的时候才会使用swap

swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,

swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

通常情况下:

swap分区设置建议是内存的两倍 (内存小于等于4G时),如果内存大于4G,swap只要比内存大就行。另外尽量的将swappiness调低,这样系统的性能会更好。

B.修改swappiness参数

临时性修改:

[root@wenwen ~]# sysctl vm.swappiness=10

vm.swappiness = 10

[root@wenwen ~]# cat /proc/sys/vm/swappiness               

10

永久性修改:

[root@wenwen ~]# vim /etc/sysctl.conf

加入参数:

vm.swappiness = 35

然后在直接:

[root@wenwen ~]# sysctl -p

查看是否生效:

cat /proc/sys/vm/swappiness

35

首先我们要了解,dns查询的基本逻辑和缓存的存在位置

如图所示,基本逻辑为:

客户端 - 本机器dns解析器(如host,dnsmasq)- 本地dns服务器(比如家庭路由器)- 网络dns服务器

为了加速查询,在解析器和服务器上都有缓存在,一般而言我们要清理的是本机器上的dns缓存

显然,我们必须首先了解本地机器用的是什么解析器,可以通过看哪个进程占据了53端口来查询,因为53端口是dns服务器端口。

可以通过以下指令:

分别会下列结果

针对不同的解析器

可以用不同的命令清理

针对system-resolved:

同时为了验证dns缓存真的被清理了,可以用命令来查看缓存

针对dnsmasq:

参考:

https://devconnected.com/how-to-flush-dns-cache-on-linux/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7377984.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存