弱弱的问下linux如何清理arp缓存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了弱弱的问下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

2、执行清除所有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

3、执行命令后,本机arp缓存信息
[root@esx ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.175 (incomplete) vswif0
192.168.1.120 (incomplete) vswif0
192.168.1.51 (incomplete) vswif0
参考技术A arp -n|awk '/^[1-9]/system("arp -d "$1)' 参考技术B 可以使用腾讯手机管家清理,它清理功能很好用,既可以直接清理,还可以选择性的进行清理,首先那些无用的系统缓存你可以使用一键清理,而部分聊天中产生的数据信息,比如头像信息,图片音频缓存等,你可以选择性的进行删除,这样一来既达到清理加速的目的,又不会使你错删重要信息,

如何清理 Linux 内核使用的缓存

【中文标题】如何清理 Linux 内核使用的缓存【英文标题】:How to clean caches used by the Linux kernel 【发布时间】:2010-10-10 15:02:55 【问题描述】:

我想在缓存开始占用过多内存后强制 Linux 内核为应用程序分配更多内存(从 'free' 的输出可以看出)。

我跑了

sudo sync; sudo sysctl -w vm.drop_caches=3; free

(释放磁盘目录/inode 缓存和页面缓存)我看到只有大约一半已使用的缓存被释放 - 其余的仍然存在。如何判断是什么占用了缓存的其余部分并强制释放它?

【问题讨论】:

留下的缓存只是缓存,当需要新内存时会立即丢弃。强制删除这些缓存区域是没有好处的。应用程序将永远是内存的第一公民,不必为它与缓存竞争。 我的服务器有问题,我认为某些东西正在滥用缓存,以至于应用程序被降级为换出页面,并且由于内存不足而崩溃。这可能是内核问题,也可能不是。清除缓存可能是一个很好的测试方法。 【参考方案1】:

您可能希望增加vfs_cache_pressure 并将swappiness 设置为0

这样做将使内核更快地回收缓存,同时在决定要分页的内容时给予进程同等或更多的支持。

如果您关心的进程很少进行磁盘 I/O,您可能想要这样做。

如果一个受网络 I/O 限制的进程必须交换来处理请求,这是一个问题,真正的解决方案是将其放在竞争不那么激烈的服务器上。

使用默认的swappiness 设置,内核几乎总是倾向于将与 FS 相关的缓存保留在实际内存中。

因此,如果增加缓存压力,一定要等量调整swappiness

【讨论】:

感谢您的回答。虽然这不是我所希望的,但我会接受它,因为它包含我不知道的信息,并提供了一些实现目标的指导方针。我仍然想更好地了解如何弄清楚缓存的用途,尤其是当它没有被 drop_caches 清理时。【参考方案2】:

/proc/meminfo 的内容告诉你内核使用 RAM 的目的。

您可以使用 /proc/sys/vm/vfs_cache_pressure 来强制内核更懒惰或急切地回收用于文件系统相关缓存的内存。

请注意,如果您的应用程序很少或没有磁盘 I/O,则调整此参数可能只会使您的应用程序受益。

【讨论】:

我的应用程序执行很少的 IO - 大多数数据来自远程数据库。我对 /proc/meminfo 有点模糊:我看到 Cached:1.9GB,SwapCached:8MB。 IIRC,这意味着 Cached 由 8MB 交换缓存、1.892GB 其他东西(磁盘缓存,还有什么?)组成。内存映射文件在哪里计算? 内存映射文件(如果应用程序很好的话)应该有自己的建议和压力,最好是通过应用程序调用 posix_madvise()。您可能还想了解您的“swappiness”设置。 确实是一个很好的答案,只是不是我的问题的答案:-)。我是否正确理解内存映射文件计入其应用程序的 RES 内存占用? 针对他们的应用程序VIRT,它可能驻留也可能不驻留,具体取决于是否访问和分页所有页面。【参考方案3】:

您可能会发现John Nilsson's answer to my Question 可用于清除缓存以测试这是否与您的问题有关:

sync && echo 1 > /proc/sys/vm/drop_caches

虽然我猜唯一真正的区别是 1 对 3

【讨论】:

1 仅清除磁盘缓存 - 它与您的问题有关。我还想清除页面缓存,因为我认为我的一个应用程序正在泄漏内存并严重抖动。 1清除页面缓存,2清除dentries和inode,3清除页面缓存,dentries和inode

以上是关于弱弱的问下linux如何清理arp缓存的主要内容,如果未能解决你的问题,请参考以下文章

弱弱的问一句:wr703n刷了OPENWRT固件后怎么刷回官方固件?

Linux如何清理ARP缓存?

一个弱弱的LINUX系统问题:LINUX命令行下如何查看服务器配置啊~!?

最近发现一个H5制作神器iH5,如果早知道不要打我,我是新手ORZ,弱弱的问一句,不同的手机要怎么做适配?

关于IP地址的问题

弱弱的战壕