在有关交换文件的讨论中(“我应该创建一个吗?”),我经常看到一个晦涩的提及“在某些情况下交换文件弊大于利”。这通常与“如果你有 X GB 或更多 RAM,则不需要交换”一起出现,通常有可靠的论据支持。然后显然存在诸如此处表达的反驳论点。
我可以想象一个后台运行的应用程序或服务foo
,其正确功能取决于即时内存访问。删除用于交换的内存空间foo
会减慢对其的访问速度,从而foo
导致警告、错误甚至完全失败。
然而这就是我所得到的,实际的事实仍然难以捉摸。例如,我的 Linux 机器有 64GB RAM,允许我同时运行多个虚拟机。此时,许多 Linux 用户决定根本不进行交换,但我保留了 16GB 以防万一 - 驱动器空间很便宜,但经典swap = 2x RAM
似乎有点夸张。
澄清一下:RAM/交换区比率或是否应该首先分配交换区超出了问题的范围。
我注意到 Linux 上的 Firefox 和 Chromium 浏览器都会打开该文件/proc/self/mem
进行阅读。据我所知,我的系统上没有其他程序读取此文件。
/proc/self/mem
因成为无休止的权限升级漏洞利用的载体而臭名昭著,其中内存通常被恶意代码覆盖,程序执行被劫持。
这更令人悲伤,因为浏览器是最暴露的程序,具有最大的攻击面,因为它们从互联网获取不可信的输入。
现代浏览器需要阅读是否有正当理由/proc/self/mem
?
我正在尝试将文件从 USB 记忆棒复制到另一个驱动器。至少文件名似乎已损坏,ls
显示为:
'ZHECMIv'$'\\027''.PDF'\n'ZHEKMI>2.P\xe2\x94\x80F'\n ZHENIL~1.PDF\n'\xd1\x8delo\xd1\xa4yf\xc9\xafr\xc9\xa5vdr.2uOro\xc3\xa4\xe4\x81\xb2igez_o_\xe8\x81\xb4e\xc5\xa2e'$'\\340\\240\\256''\xc5\xb0\xe8\x81\xa4f'\n'\xe1\x81\x99a\xe2\x81\xafn\xc2\xadP\xe2\x81\xa9\xd1\xa5\xc3\xb2\xd1\xb3en-\xe1\x81\x90oint-M\xe4\x81\xafr\xd1\xb4&`df'\n
Run Code Online (Sandbox Code Playgroud)\n复制失败并出现如下错误:
\ncp: error reading '/media/pg/VERBATIM/2012/03/MVANES~0.PDF': Input/output error\ncp: cannot create regular file '/media/pg/Elements SE/verba/2012/03/ERANmS~3.P'$'\\004''B': Invalid argument\ncp: cannot stat '/media/pg/VERBATIM/2014/09/f5'$'\\004''7'$'\\004''0'$'\\004''.': No such file or directory\n
Run Code Online (Sandbox Code Playgroud)\n如果只有文件名损坏,我尝试了以下方法:
\npg@TREX:~$ cp /media/pg/VERBATIM/2012/02/'YQ83A1'$'\\177''0.\xe2\x95\xa8DF' ./1.pdf\ncp: error reading '/media/pg/VERBATIM/2012/02/YQ83A1'$'\\177''0.\xe2\x95\xa8DF': Input/output error\n
Run Code Online (Sandbox Code Playgroud)\nfsck.vfat -n
显示:
fsck.fat 4.2 (2021-01-31)\nThere are differences between boot sector and its backup.\nThis is mostly harmless. Differences: (offset:original/backup)\n 65:01/00\n Not automatically fixing this.\nFATs differ but appear to be intact.\n Using first FAT.\nCluster …
Run Code Online (Sandbox Code Playgroud)