在运行服务器的时候有时候会发现内存不断在增加,在刚开始尝试vscode的远程桌面时,内存从最初的2.9g飙升到20g,让我产生服务器被攻击的怀疑,我使用top -c打开看进程,发现其中vscode的服务端的内存占用及其高,同时使用fre查看内存状况发现缓存buff/cache只增不减,所以针对以上两点进行优化。
vscode设置
要关闭Follow Symlinks选项
"search.followSymlinks": false
或者在设置中找到这个选项,把勾去掉

清除缓存
在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果没有则通过驱动程序直接操作磁盘。
缓存机制优点:减少系统调用次数,降低CPU上下文切换和磁盘访问频率。
缺点:随着运行时间的增加,缓存文件会不断增大
因此为了防止系统内存占用过高,需要手动释放文件的缓存,先同步系统文件到磁盘,在释放缓存。
#!/bin/bash
#出自https://blog.csdn.net/qq1130169218/article/details/121076115
echo "开始清除缓存"
sync;sync;sync
sleep 10
echo 3 | sudo tee /proc/sys/vm/drop_caches
echo "清理结束"
