使用Kubuntu20.04,这是从一个USB棒运行。因此,有一个/cow覆盖文件系统挂载在/上。U盘的总容量为32 GB,但对cow覆盖文件系统只分配了16 GB。我的计算机的RAM大小为32 GB (如实用程序“空闲”所示)。
我当前状态的原因是,我忘记了禁用互联网连接。
以前,我使用智能搜索,但我并没有故意下载一些东西。一夜之间,从16 GB的“牛”中,大约有2 GB已经被使用了。df -Th -a显示“使用”从21%增长到33%。
现在我在调查谁做了什么。
为此,我在wels_fullpath (基于bash和**)的基础上运行了一个自写程序/,将输出传输到sort (按时间进行排序),并从排序到less。在运行时,我必须注意用于sort和less缓冲区的内存。(我现在忽略了这类问题)。
为此,我一直运行watch实用程序来观察df和free中的变化:
watch -d "df -T -a >/tmp/WEx_df__2; diff -U0 /tmp/WEx_df__1 /tmp/WEx_df__2; free -w -h"strace显示wels_fullpath正在工作。
但在df和free中都没有报道变化。
因此,问题出现了,在df列表中,应该出现哪些持续增长的缓冲区?
我已经阅读了less的文档,并在互联网上搜索了很长时间。有一些关于更少和缓冲区的好文章。但是,在FHS中,没有任何地方可以看到缓冲较少的地方,也没有什么地方可以用什么名字来描述。
出现了一个新问题。
我已经改变了我的呼叫顺序,不再在这里使用“更少”。
尽管如此,我的问题对我来说还是很重要的。
也许,对于缓冲较少的地方,我还没有写出恰当的术语“存储”。我在“内存中或磁盘上”。较少的缓冲区应该会对“免费”或"df“产生影响。这一点应该在一些文献中加以说明。
现在我的指挥系统是:
/./wels_fullpath -d / 2>/dev/null _ grep -v -e“^-d 1”排序-s -r -k7,8 >/tmp/-s 01
正如我在"top“(默认情况下未安装”htop“)中所看到的,执行还处于最开始阶段:
顶级-p
显示:
PID用户PR NI VIRT RES
2159985根20 0 242132 235816
SHR S %CPU %MEM TIME+
3160 R 99.3 0.7 1634:33
命令
wels_fullpath
在我的程序中,我使用数组。在读取源"/“中的文件时,它们被写入数组中。因此,VIRT和RES在不断增长,好吗。
但我一直在运行的"df“和"free”的“手表”并没有显示出这些变化。“免费”中的值上下变化很小。
因此,我的补充问题是:
为什么越来越多的内存使用我的程序没有反映在“免费”?
在Linux中,Kubuntu是否有一个实用程序来分析和显示L L的内存方面(比如"df“、"du")?
问安
哦,不好意思。我记得并发现:
/proc/meminfo给出了一个很好的概述。pmap给出每个进程的内存使用情况。
抱歉打扰你了。
问安
发布于 2022-04-10 11:36:45
less不会在文件系统中的任何地方存储缓冲区。它的缓冲区(使用--buffers和--auto-buffers选项进行配置)保存在内存中(可能在交换区中)。
https://unix.stackexchange.com/questions/698648
复制相似问题