Linux 写入/tmp/是否可以检测到内存过多的软件杀手?
我有一个一般性的问题,我没有找到正确的解释 我有一个在/tmp/中创建大文件的程序 这些文件创建如下:Linux 写入/tmp/是否可以检测到内存过多的软件杀手?,linux,temp,Linux,Temp,我有一个一般性的问题,我没有找到正确的解释 我有一个在/tmp/中创建大文件的程序 这些文件创建如下: FILE *tmp; tmp = fopen(argv[i-1]+3, "w"); 我还有另一个程序,检查所有的可执行文件,并终止所有占用太多内存的进程 我的问题如下: 第一个程序有危险吗? 或者在/tmp/中写入被认为是使用了磁盘空间,而不是使用了内存 提前感谢您的回答 致以最诚挚的问候。这取决于/tmp使用的文件系统类型(或“文件存储方式的实现”)。它可能在磁盘上,也可能在内存中 签
FILE *tmp;
tmp = fopen(argv[i-1]+3, "w");
我还有另一个程序,检查所有的可执行文件,并终止所有占用太多内存的进程
我的问题如下:
第一个程序有危险吗?
或者在/tmp/中写入被认为是使用了磁盘空间,而不是使用了内存
提前感谢您的回答
致以最诚挚的问候。这取决于/tmp使用的文件系统类型(或“文件存储方式的实现”)。它可能在磁盘上,也可能在内存中 签入文件/etc/fstab。如果您有这样一行,使用
tmpfs
,/tmp将在主存中:
none /tmp tmpfs defaults 0 0
它取决于/tmp使用的文件系统类型(或“文件存储方式的实现”)。它可能在磁盘上,也可能在内存中 签入文件/etc/fstab。如果您有这样一行,使用
tmpfs
,/tmp将在主存中:
none /tmp tmpfs defaults 0 0
StackOverflow明确用于解决有关编写软件的问题。这可能是一个更好的问题。您想知道
/tmp
中的文件是否存储在RAM上吗?或者您想知道/tmp
中已用文件的大小是否添加到有关内存使用情况的统计数据中(假设/tmp
在RAM中)?…对于后者,它非常具体地取决于正在使用哪些统计数据,以及如何使用,正在访问这些文件--如果度量值是虚拟内存,并且它们是mmap
'd,则回答与正常写入生成的内容不同。我想知道/tmp中的文件使用的大小是否会被第二个软件检测到并被视为内存使用。不会被检测到,StackOverflow是专门针对编写软件的问题。这可能是一个更好的问题。您想知道/tmp
中的文件是否存储在RAM上吗?或者您想知道/tmp
中已用文件的大小是否添加到有关内存使用情况的统计数据中(假设/tmp
在RAM中)?…对于后者,它非常具体地取决于正在使用哪些统计数据,以及如何使用,正在访问这些文件--如果度量值是虚拟内存,并且它们是mmap
'd,则回答与正常写入生成的内容不同。我想知道/tmp中的文件使用的大小是否会被第二个软件检测到并被视为内存使用。不会被检测到,实际上,OP不仅询问写入/tmp是否使用RAM,还询问写入/tmp是否有被监控内存使用的软件杀死的风险。这是一个不同的问题,答案也不同:即使/tmp
是一个tmpfs挂载,大多数试图杀死分配过多内存的软件的工具也不会识别其使用情况(除非它们测量虚拟内存使用情况,并且/tmp
中的文件是mmap)。实际上——OP不仅询问写入/tmp是否使用RAM,还询问写入/tmp是否有被监控内存使用的软件杀死的风险。这是一个不同的问题,有不同的答案:即使/tmp
是一个tmpfs挂载,大多数试图杀死分配过多内存的软件的工具也不会识别它的使用情况(除非他们测量虚拟内存使用情况,并且/tmp
中的文件是mmap)。