linux查看缓存,linux清除缓存
大家好,关于linux查看缓存很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于linux清除缓存的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
如何查看 Linux 当前缓存了哪些大文件
Linux用户可能经常遇到的一个问题是,机器有 16GB内存之多,运行的进程也不多,但是剩下的 free内存并不多,大部分都被 buff和 cache占用了(比如下面我的 PC)。
$ free-h
total
used
free
shared buff/cache availableMem:
15G
6.4G
2.3G
1.1G
6.9G
7.7GSwap:
975M
268K
975M
虽然对于 Linux的内存分配机制来说,这种被 buff和 cache占用的内存在系统需要时会及时释放出来,但是有时候我们想知道到底 cache了些什么却没有一个好的办法。
前几天看到有个人用 go写了个?pcstat,可以查看某个文件是否被缓存(作者的目的是数据库调优),也可以根据进程的 PID来查看都缓存了哪些文件,不过该工具不能查看整个操作系统都 cache了哪些文件。
因此,我基于 pcstat写了个hcache,增加了查看当前操作系统所 cache的前若干个文件的特性。如果有什么建议的话也欢迎反馈给我:hubottle@gmail.com。
使用方法比较简单:
$ sudo hcache--top 10[sudo] password for silenceshell:+----------------------------------------------------------------------------------+----------------+------------+-----------+---------+| Name
| Size(bytes)| Pages
| Cached| Percent||----------------------------------------------------------------------------------+----------------+------------+-----------+---------||/opt/google/chrome/chrome
| 114911208
| 28055
| 25457| 090.740||/usr/share/code/code
| 67688720
| 16526
| 12274| 074.271||/home/silenceshell/Software/pycharm-community-2016.2/lib/pycharm.jar
| 95177431
| 23237
| 11325| 048.737||/opt/atom/atom
| 62641344
| 15294
| 10578| 069.164||/usr/bin/dockerd
| 39121168
| 9552
| 7103
| 074.361||/home/silenceshell/Software/pycharm-community-2016.2/jre/jre/lib/amd64/libjfxwebkit.so| 57455824
| 14028
| 6625
| 047.227||/usr/lib/x86_64-linux-gnu/libQtWebKit.so.4.10.2
| 36462184
| 8902
| 6316
| 070.950||/usr/lib/beyondcompare/BCompare
| 30640160
| 7481
| 5505
| 073.586||/usr/bin/SecureCRT
| 29524560
| 7209
| 4806
| 066.667||/usr/share/code/libnode.so
| 21135976
| 5161
| 4588
| 088.898|+---------------------------------------------------------------------
让我们来查看一下其中列出的一个文件:
$ lsof/usr/lib/x86_64-linux-gnu/libQtWebKit.so.4.10.2COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEquiterss 20630 silenceshell mem REG 8,5 36462184 3936610/usr/lib/x86_64-linux-gnu/libQtWebKit.so.4.10.2
默认情况下会显示 cache的文件的全路径,会比较长,也可以使用--bname选项来仅显示文件名:
-------------+----------------+------------+-----------+---------+$ sudo./hcache--top 3--bname+-------------+----------------+------------+-----------+---------+| Name
| Size(bytes)| Pages
| Cached| Percent||-------------+----------------+------------+-----------+---------|| chrome
| 114911208
| 28055
| 25476| 090.807|| pycharm.jar| 95177431
| 23237
| 11479| 049.400|| atom
| 62641344
| 15294
| 10578| 069.164|+-------------+----------------+------------+-----------+---------+
这个小工具的源码开源在 Github上:hcache,欢迎关注和提交 issue及 PR。
Linux如何查看内存使用状况
1)查看RAM使用情况最简单的方法是通过/proc/meminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free/ps/top)等的组合显示。/proc/meminfo列出了所有你想了解的内存的使用情况。
$ cat/proc/meminfo
2)free命令是一个快速查看内存使用情况的方法,它是对/proc/meminfo收集到的信息的一个概述。
3)ps命令可以显示各个进程的内存使用情况、以及更详细的物理内存使用情况和虚拟内存使用情况。你可以使用“–sort”选项对进程进行排序,例如按RSS进行排序:
$ ps aux--sort-rss
4)top命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。
linux系统该如何查看内存使用情况以及清理缓存
在Linux系统中监控内存使用情况是系统管理的重要部分,理解不同工具和命令的作用将有助于更有效地管理资源。下面是一些常用的方法,可以帮助你查看Linux系统内存的使用情况及清理缓存。
首先,通过查看/proc/meminfo文件,可以获取到系统内存的详细使用情况。这个文件实际上是由其他监控工具汇总而成,可以获取到物理内存、缓冲区、缓存等信息。例如,可以通过运行命令 `cat/proc/meminfo`来查看内存使用详情。
atop是一个强大的系统监控工具,它提供了一个综合的界面来查看 CPU、内存、网络、I/O和内核等资源的使用情况。在高负载环境下,atop会使用彩色标注显示信息。命令 `sudo atop`可以启动 atop。
使用 `free-h`命令可以快速查看内存使用情况。`free`命令是基于/proc/meminfo的简化版本,提供了一个概览式的内存使用情况。
GNOME System Monitor是一个直观的图形界面工具,用于查看系统的 CPU、内存、交换区及网络使用情况。启动命令是 `gnome-system-monitor`。
htop是一个强大的终端命令,用于实时查看每个进程的内存使用情况。它提供了详细的内存使用报告,包括常驻内存大小、程序总内存大小、共享库大小等,并且支持水平及垂直滚动。运行命令 `htop`即可使用。
KDE System Monitor是一个功能类似的工具,提供了与 GNOME System Monitor相似的系统资源监控界面。命令是 `ksysguard`。
memstat命令用于查看可执行文件、进程和共享库的虚拟内存使用情况。通过指定进程 ID,memstat可以提供详细的内存使用报告。运行命令 `memstat-p`即可使用。
nmon是一个基于 ncurses的系统基准测试工具,可以实时监控包括内存使用在内的多种资源情况。命令为 `nmon`。
ps命令可以实时显示各个进程的内存使用情况。通过 `ps aux--sort-rss`命令,可以按物理内存使用率排序显示进程。
smem命令可以统计进程和用户基于/proc的内存使用情况。通过 `sudo smem--piename-c"pss"`命令可以启动 smem。
top命令提供了实时运行程序的资源使用统计,包括内存使用情况。命令 `top`可以启动 top命令。
vmstat命令显示实时和平均统计信息,覆盖 CPU、内存、I/O等内容。通过 `vmstat-s`命令可以查看内存使用情况。
以上方法提供了丰富的工具和命令,用于监控和管理Linux系统的内存使用情况。合理利用这些工具,可以有效地优化系统性能,提高资源利用效率。