电脑缓存不够了,咋办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了电脑缓存不够了,咋办?相关的知识,希望对你有一定的参考价值。

我们家电脑一直提醒说内存不够,删了好多东西也不行。咋办?

电脑内存不足怎么办

参考技术A 首先你要明白:内存和硬盘容量是两回事。所以删东西没用的。

你要问的到底是内存还是缓存?提高内存只能插内存条。提高缓存的话,以下摘抄一段,你就明白了:

在电脑系统中,硬件运行速度的快慢基本由缓存决定,缓存的容量越大,相应的硬件运行速度也就越快。缓存的应用几乎遍及所有的硬件,比如CPU、硬盘、刻录机等,甚至是软件也有缓存。什么是缓存?简单来说缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行,因此,我们要不惜使出一切手段来增加硬件的缓存,让机器“飞”起来,以下就介绍几种增加缓存的方法。

CPU的缓存

CPU的缓存分二级:L1(一级缓存)和L2(二级缓存),当处理器要读取数据时,首先要在L1缓存中查找,其次才是L2缓存,最后才是系统内存。如果有一天你发觉自己的电脑慢了很多,进入到Windows桌面也要几分钟,这时候就要检查一下CPU的一、二级缓存有没有打开。在Bios设置中的Standard CMOS Setup(标准CMOS设定)有两项是用来打开或关闭缓存的:CPUInternal Cache设为Enable时开启CPU内部的一级缓冲区,若设置为Disabl则为关闭,这时系统性能将大大降低;ExternalCache选项是控制主板上二级缓冲区,如果主板上有二级缓存则应设成Enable。

硬盘的缓存

点击电脑桌面上的“开始”/“运行”,键入“Msconfig”启动“系统配置实用程序”,跟着选中“system.ini”标签下的“Vcache”项,就可以根据系统的实际情况来调节硬盘的缓存了。在该选项中一般会有三行内容:ChunkSize=1024、MaxFileCache=10240和MinFileCache=10240;其中第一行是缓冲区读写单元值,第二、三行是硬盘的最大和最小缓冲值,等号后的数值都是可以修改的,只要右键单击选中任一行就可以进行修改了。如果你的内存是128MB的话,上面这三行的取值就比较合理了,当然也可以自定。如果不知道该如何设置合适的缓冲值,请“Windows优化大师”帮忙吧,这个软件中有一个“磁盘缓存优化”项,用鼠标就可以方便地设置好缓存;又或者让“Windows优化大师”自动帮你进行优化设置。当硬盘的缓存值足够大时,硬盘就不用频繁地读写磁盘,一来可以延长硬盘的寿命,二来也可以提高数据的传输速度。

另外,将硬盘的“文件系统缓存”设置为“网络服务器”,可以加快系统对硬盘的访问速度,因为文件系统缓存里存放了硬盘最近被访问过的文件名和路径,缓存越大所能储存的内容也就越多。如果点击“控制面板”/“系统”/“性能”/“文件系统”/“硬盘”,将“此计算机的主要用途”由“台式机”改为“网络服务器”,可以将原来10K左右的缓存增加至近50K左右。

软驱和光驱的缓存

一般来说,软驱读写数据的速度都比较慢,这是因为盘片的转速不能太高,但是,我们可以提高软驱的读写缓存,让软驱一次读写更多的数据。方法是:在桌面上的“开始”/“运行”框中键入“Regedit”运行注册表编辑器,依次进入HKEY-LOCAL-MACHINE\System\CurrentControlSet\Services\Class\FDC\0000,新建一个为ForeFifo的“DWORD值”,将其值设为“0”,这样就对软驱进行了软提速。

很多人都知道右键单击桌面“我的电脑”图标,选“属性”/“性能”/“文件系统”/“CD-ROM”,将最佳的访问方式设为“四倍速或更高速”,将追加的高速缓存大小滑块拖到最大处,可以明显提高光驱的读盘速度。除了这种方式,我们还可以在注册表中设置缓冲值,方法是:进入到注册表,在HKEY-LOCAL-MACHINE\System\CurrentControlSet\Control\FileSystem\CDFS下,将CacheSize(缓存值的大小)和Prefetch(预读文件大小)两项进行手工调整,只要右键单击要选的项就可以进行修改了。

IE浏览器的缓存

IE的缓存默认存放位置在c:\windows\Temporary InternetFiles,调节缓存的大小办法是:依次点击IE中的“工具”/“Internet选项”/“Internet临时文件”中的“设置”选项,将“使用磁盘的空间”滑块向右拖动来调节缓存的大小。应该说明的是,加大IE的缓存对提高上网速度并无帮助,它只可以将用来存放临时网页文件的硬盘空间增大,使IE出错的机会相对减少。本回答被提问者采纳
参考技术B 把虚拟内存修改到最大值!!!
右键点“我的电脑”,左键点“属性”,点选“高级”选项卡,点“性能”里的“设置”按钮,再选“高级”选项卡,点下面的“更改”按钮,所弹出的窗口就是虚拟内存设置窗口,一般默认的虚拟内存是从小到大的一段取值范围,这就是虚拟内存变化大小的范围,最好给它一个固定值,这样就不容易产生磁盘碎片了,具体数值根据你的物理内存大小来定,一般为物理内存的1.5到3倍,如内存为256M,那么应该设置256*1.5=384M,或者干脆512M,设置方法如下:
假设内存为256M,虚拟内存放在D盘,先要将默认的清除,保持C盘为选中状态,单选“无分页文件(N)”再按“设置”按钮,此时C盘旁的虚拟内存就消失了,然后选中D盘,单选“自定义大小”,在下面的“初始大小”和“最大值”两个方框里都添上512,再点一下“设置”按钮,会看到D盘的旁边出现了“512-512”的字样,这样就说明设置好了,再一路确定,最终,系统会要重新启动,重启一下,便完成了设置。
参考技术C 设置虚拟内存或加内存条

设置虚拟内存方法:

右击“我的电脑”-“属性”-“高级”
点“性能”中的“设置”
点“高级”
在“虚拟内存”中选“更改”

自己分配在可用空间比较大的分驱,设置一个较大的值,比如:1000MB,点“设置”,再点“确定”
参考技术D 右击我的电脑-属性-高级-性能选项-高级-虚拟内存-更改,选个比较空的磁盘分区,点自定义大小,最小就用系统推荐的,最大设置为系统内存的1.5-2倍大小就行了

Linux服务器缓存总是不够用

一:问题描述

服务的 Buffer/Cache 总是在高位运行,可用的缓存一直不够用

二:问题分析

这个缓存,我用了定时清理方式,但是治标不治本,用户量大了后,还是经常不够用,怎么办嘞?

那就看一看这个 Buffer/Cache 里面到底存了什么数据?

想要看 Buffer/Cache 我们要安装一个神器
[root@iZbp1gp1t778obaz5m8vk8Z ~]# wget https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcache
[root@iZbp1gp1t778obaz5m8vk8Z ~]# chmod +x hcache
[root@iZbp1gp1t778obaz5m8vk8Z ~]# mv hcache /usr/local/bin/
[root@iZbp1gp1t778obaz5m8vk8Z ~]# 
查看前十个占用缓存最大的文件
[root@iZbp1gp1t778obaz5m8vk8Z ~]# hcache -top 10
+-------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+-----------+---------+
| Name                                                                                                                                | Size (bytes)   | Pages      | Cached    | Percent |
|-------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+-----------+---------|
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001847356-0005c705938eb664.journal | 117440512      | 28672      | 16792     | 058.566 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001804329-0005c6c0d699f6b5.journal | 117440512      | 28672      | 15558     | 054.262 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001913bd6-0005c7b5d2a0a068.journal | 117440512      | 28672      | 14873     | 051.873 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001830cc0-0005c6f1d16335e1.journal | 117440512      | 28672      | 14501     | 050.575 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001709205-0005c5ec8d98c3bd.journal | 117440512      | 28672      | 14401     | 050.227 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001695bce-0005c591f4f9b6c2.journal | 117440512      | 28672      | 13798     | 048.124 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-000000000167ef8b-0005c5801512bfe8.journal | 117440512      | 28672      | 13798     | 048.124 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000018b8036-0005c76fcfab5444.journal | 117440512      | 28672      | 13027     | 045.435 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-000000000177c190-0005c64db1792194.journal | 117440512      | 28672      | 12802     | 044.650 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001941e20-0005c7dd75f05239.journal | 117440512      | 28672      | 12740     | 044.434 |
+-------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+-----------+---------+

分析得出是因为我们的日志文件大量占用缓存

CentOS系统中有两个日志服务,分别是传统的 rsyslogsystemd-journal

systemd-journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。

该日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经历过压缩和格式化的二进制数据,所以在查看和定位的时候很迅速。

默认情况下并不会持久化保存日志,只会保留一个月的日志。另外,一些rsyslog无法收集的日志也会被journal记录到。

rsyslog作为传统的系统日志服务,把所有收集到的日志都记录到/var/log/目录下的各个日志文件中。

原来是系统日志在作祟,那就去看看。

二.一 细化分析 

[root@iZbp1gp1t778obaz5m8vk8Z journal]# ll
total 16
drwxr-sr-x+ 2 root systemd-journal 12288 Jul 27 02:49 20190711105006363114529432776998
[root@iZbp1gp1t778obaz5m8vk8Z journal]# 
[root@iZbp1gp1t778obaz5m8vk8Z journal]# du -sh
3.9G	.

三:处理问题

大气出奇迹,开干,把系统日志的最大控制在500M,物理文件被删除 3.3G

[root@iZbp1gp1t778obaz5m8vk8Z journal]# journalctl --vacuum-size=500M
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-000000000165276b-0005c559b355a8c7.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001668bbf-0005c56d9fdc61f3.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-000000000167ef8b-0005c5801512bfe8.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001695bce-0005c591f4f9b6c2.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000016ad657-0005c5a0f50b116c.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000016c3cf5-0005c5bf172b8aca.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000016da438-0005c5d49cd6b6fd.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000016f11aa-0005c5e198551ec4.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001709205-0005c5ec8d98c3bd.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001720988-0005c5f7f7f78e0f.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000017383da-0005c607981114f1.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-000000000174f435-0005c61abbac5d31.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001765e21-0005c631203d3e02.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-000000000177c190-0005c64db1792194.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000017927bc-0005c65ff00bbafb.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000017a968d-0005c67116a09e54.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000017bfd07-0005c685c9cf1389.journal (112.0M).
Deleted archived journal /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-00000000017d6d81-0005c698038e2ad2.journal (112.0M).
Deleted archived journal 
...................................................................
Vacuuming done, freed 3.3G of archived journals on disk.
[root@iZbp1gp1t778obaz5m8vk8Z journal]# 

再看一下我们的物理路径下面,以及我们的内存状态,唉 物理路径下只有500M文件了,而我们的缓存处给我空出来 1.5G 可用内存!!!

[root@iZbp1gp1t778obaz5m8vk8Z journal]# 
[root@iZbp1gp1t778obaz5m8vk8Z journal]# du -sh
497M	.
[root@iZbp1gp1t778obaz5m8vk8Z journal]# 
[root@iZbp1gp1t778obaz5m8vk8Z journal]# 
[root@iZbp1gp1t778obaz5m8vk8Z journal]# free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        9.6G        4.6G        1.5M        831M        5.0G
Swap:            0B          0B          0B
[root@iZbp1gp1t778obaz5m8vk8Z journal]# 

再看一下我们的缓存占用情况,结果日志文件还是瑶瑶领先,但是终于看到其他的服务了,先这样OK运行。

[root@iZbp1gp1t778obaz5m8vk8Z journal]# 
[root@iZbp1gp1t778obaz5m8vk8Z journal]# hcache -top 10
+-------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+-----------+---------+
| Name                                                                                                                                | Size (bytes)   | Pages      | Cached    | Percent |
|-------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+-----------+---------|
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001913bd6-0005c7b5d2a0a068.journal | 117440512      | 28672      | 14873     | 051.873 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001941e20-0005c7dd75f05239.journal | 117440512      | 28672      | 12740     | 044.434 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-0000000001958066-0005c7face4cfe97.journal | 117440512      | 28672      | 12522     | 043.673 |
| /var/log/journal/20190711105006363114529432776998/system@00000000000000000000000000000000-000000000192aebd-0005c7c5f63c62af.journal | 117440512      | 28672      | 9982      | 034.814 |
| /var/log/journal/20190711105006363114529432776998/system.journal                                                                    | 25165824       | 6144       | 6144      | 100.000 |
| /usr/bin/dockerd-current                                                                                                            | 33420192       | 8160       | 3934      | 048.211 |
| /usr/local/jdk1.8.0_172/jre/lib/amd64/server/libjvm.so                                                                              | 17067833       | 4167       | 2507      | 060.163 |
| /usr/local/share/aliyun-assist/2.2.3.221/aliyun-service                                                                             | 15611914       | 3812       | 1952      | 051.207 |
| /usr/bin/docker-containerd-current                                                                                                  | 10806584       | 2639       | 1217      | 046.116 |
| /usr/local/nginx/sbin/nginx                                                                                                         | 6099568        | 1490       | 1024      | 068.725 |
+-------------------------------------------------------------------------------------------------------------------------------------+----------------+------------+-----------+---------+

四:总结

从运行方向来看,我这台阿里云服务器的缓存,大部分可用内存均是系统日志占用,但是这个系统日志占用了超大量的内存,这一点阿里云需要改善,毕竟访问量大就日志疯狂的存储占用可用内存,这有点做得可不够好。

然后大家如果遇到同样的问题,可以根据自己的情况适当的配置日志可占用的大小情况。

希望跟大家一起进步!!!

参考资料:

Linux中清理/var/log/journal/垃圾日志

五:补充学习

[root@iZbp1f0xuq9rc41s6gdvfyZ log]# 
[root@iZbp1f0xuq9rc41s6gdvfyZ log]# ps aux|grep tomcat
root     16583  0.0  0.0 112708   984 pts/1    S+   09:47   0:00 grep --color=auto tomcat
zcsjw    30375  2.5 40.4 11693112 6576120 ?    Sl   Jun28 1072:50 /usr/local/jdk1.8.0_172/jre/bin/java -Djava.util.logging.config.file=/usr/local/www/apache-tomcat-8.5.43/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -XX:PermSize=1024M -XX:MaxPermSize=4096m -Xms2048M -Xmx4096M -XX:MaxNewSize=1024m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -server -Xms2048m -Xmx4096m -Dignore.endorsed.dirs= -classpath /usr/local/www/apache-tomcat-8.5.43/bin/bootstrap.jar:/usr/local/www/apache-tomcat-8.5.43/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/www/apache-tomcat-8.5.43 -Dcatalina.home=/usr/local/www/apache-tomcat-8.5.43 -Djava.io.tmpdir=/usr/local/www/apache-tomcat-8.5.43/temp org.apache.catalina.startup.Bootstrap start
[root@iZbp1f0xuq9rc41s6gdvfyZ log]# 
[root@iZbp1f0xuq9rc41s6gdvfyZ log]# 
[root@iZbp1f0xuq9rc41s6gdvfyZ log]# hcache -pid 30375
+---------------------------------------------------------------------------------------------------------------+----------------+------------+-----------+---------+
| Name                                                                                                          | Size (bytes)   | Pages      | Cached    | Percent |
|---------------------------------------------------------------------------------------------------------------+----------------+------------+-----------+---------|
| /usr/local/jdk1.8.0_172/jre/lib/amd64/libnet.so                                                               | 115485         | 29         | 18        | 062.069 |
| /usr/local/www/apache-tomcat-8.5.43/webapps/guides/WEB-INF/lib/aopalliance-1.0.jar                      | 4467           | 2          | 2         | 100.000 |
| /usr/local/www/apache-tomcat-8.5.43/webapps/guides/WEB-INF/lib/commons-httpclient-3.1.jar               | 305001         | 75         | 75        | 100.000 |
| /usr/local/www/apache-tomcat-8.5.43/webapps/guides/WEB-INF/lib/mybatis-spring-1.2.2.jar                 | 48783          | 12         | 12        | 100.000 |
| /usr/lib/fontconfig/cache/83bf7a3f-cf3f-4a35-a43e-c013d1e66acb-le64.cache-7                                   | 20592          | 6          | 6         | 100.000 |
| /usr/local/www/apache-tomcat-8.5.43/webapps/guides/WEB-INF/lib/codejson-1.1.1.jar                       | 102621         | 26         | 26        | 100.000 |
| /usr/lib64/libresolv-2.17.so                                                                                  | 105824         | 26         | 26        | 100.000 |
.......................................................

以上是关于电脑缓存不够了,咋办?的主要内容,如果未能解决你的问题,请参考以下文章

电脑安装了虚拟机,鼠标指针出不来,咋办?

我的电脑开机很慢咋办?

win10电脑挖比特币,软件卸载了,但c盘还是满的,还找不到同步数据的文件夹。该咋办?

每次电脑现出 libcurl.dll丢示,咋办

我家的屏幕不知道为啥左边多出一条黑边来(鼠标进不去),而另一边却短了一截,咋办

鸿基笔记本电脑自带键盘和触摸板都被我不小心设置关闭了 现在想打开咋办