由于对我的问题的评论为什么低交换性(10)会导致系统崩溃?我决定进行内存测试。
当它使用默认的“故障安全”选项自动启动时,屏幕似乎在时间:0:00:01 被冻结(只有红色“+”闪烁):
(ESC) 和 (c) 都没有回应,我只能猜测 SP 或 CR 代表什么。
当我运行“多线程 (SMP)”选项时,屏幕在前 27 秒发生变化,并且 (c) 以选项列表进行响应。然后屏幕似乎又被冻结了:
是一些不当行为,还是测试需要冻结屏幕?
由于对我的问题的评论为什么低交换性(10)会导致系统崩溃?我决定进行内存测试。
当它使用默认的“故障安全”选项自动启动时,屏幕似乎在时间:0:00:01 被冻结(只有红色“+”闪烁):
(ESC) 和 (c) 都没有回应,我只能猜测 SP 或 CR 代表什么。
当我运行“多线程 (SMP)”选项时,屏幕在前 27 秒发生变化,并且 (c) 以选项列表进行响应。然后屏幕似乎又被冻结了:
是一些不当行为,还是测试需要冻结屏幕?
由于我有 128 GB RAM,因此我想通过设置vm.swappiness
为 10 来最大程度地减少交换使用量。
我在 Python 中运行了一系列snakemake -j 1
内存密集型操作:将两个数组相减,每个数组最大为 15 GB,然后计算差值的范数。令人惊讶的是,我的系统开始出现异常:Thunderbird 崩溃了,然后我的图形环境(带 lightdm 的 XFCE)也崩溃了,有效地终止了浴运行时的屏幕会话。现在我想知道:为什么?
此外,在处理最大的数组时,我的脚本往往会因分段错误而失败。此外,在图形环境重新生成后,它交换了我的显示器(双关语),并且不允许我使用显示设置重新交换它们。 service lightdm restart
之后sysctl vm.swappiness=60
是必要的。
我有足够的可用交换空间(932 GB),所以我的系统并不是突然内存不足。RAM 芯片似乎也可以工作(17 次 Memtest86+ 测试没有发现错误)。
我询问其他程序(Thunderbird、屏幕会话、图形环境)崩溃的原因。即使我的程序写得不好,我也希望它们的影响是有限的广泛交换。XFCE 会话完全重新启动是绝对不应该发生的事情。我所说的重新启动是指重新启动,而不是由于交换而冻结或减慢。
由于某些原因,我希望ext4 文件系统中的所有文件都不会碎片化。遗憾的是e4defrag
(此处建议:如何对 ext4 文件系统进行碎片整理)无法对多个文件进行碎片整理。我有什么选择?
文件系统中已经包含所有文件(不能以任何方式更改它们)并且几乎已满。有几个空闲块(根据df -h
:434M available of 85G and 80G used)可以用作缓冲区。我不需要在碎片整理时挂载文件系统。此外,我还有其他文件系统可用,有足够的空间用作缓冲区。
我的一个想法是将文件移动到其他文件系统,然后以某种方式将它们复制回来告诉文件系统连续存储它们。
[编辑]
我刚刚发现我不能依赖e4defrag
输出。它将具有多个范围的文件计为碎片,同时它知道这些范围是连续的:
$ sudo filefrag file.file
file.file: 1 extent found
$ sudo e4defrag -vc file.file
e4defrag 1.45.5 (07-Jan-2020)
<File>
[ext 1]: start 22388736: logical 0: len 32768
[ext 2]: start 22421504: logical 32768: len 32768
[ext 3]: start 22454272: logical 65536: len 32768
[ext 4]: start 22487040: logical 98304: len 27962
Total/best extents 4/1
Average size per extent 126266 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This file (file.file) does not need defragmentation.
Done.
我有一个与这里提到的类似的问题:无法释放 df 中的空间但我无法重新启动(我在内存中有重要数据)。
的输出df -h /
是:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 47G 45G 0 100% /
除非在我删除了大约 13G 的数据后它保持这种状态,否则这会很好。
/dev/sda2
可用的所有文件的累积大小/
是其容量的一半:
$ sudo du -xhd 0 /
23G /
我发现https://stackoverflow.com/questions/653096/how-to-free-inode-usage#9387415但它绝对不是 inode 的问题:
$ df -hi /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 3.0M 535K 2.5M 18% /
如何在不重新启动计算机的情况下释放空间(但是我应该能够休眠它,因为我的交换区域比物理 RAM 多)?
还有一条评论:将数据保存在文件系统中我需要能够写入的任何地方/tmp/
(询问 NumPy 开发人员为什么)/dev/sda2
。
最近我的系统因为神秘的内存泄漏而变得不稳定。结果,我的 Xorg 进程经常Out of memory
被/var/log/syslog
.
为了在崩溃的情况下保存我的vim
会话,我在screen
.
不幸的是,在 Xorg 被杀死后,我无法恢复vim
会话。重新连接的外壳完全混乱。到目前为止,每次我试图通过盲目vim
发出命令来退出。:qa
然后每次按下我都会在同一行Enter得到提示。
我怀疑vim
它没有运行(必须在下次崩溃后验证它),因为:
:qa
命令,但新vim
会话警告我交换文件的存在,:qa
命令。.bash_history
关闭终端仿真器窗口后恢复工作正常。
我可以做什么(但修复内存泄漏)来保留我的vim
会话?
版本:vim
- 7.4.52,screen
- 4.01.00devel,Ubuntu - 14.04.5
[编辑]
vim
在崩溃后肯定没有运行 - 今天我ICE default IO error handler doing an exit(), pid = 12810, errno = 11
在恢复的屏幕窗口中发现了一条消息。
我希望能够用鼠标选择某些文本以将其复制并粘贴到命令行。“选择”和“从剪贴板/主要选择粘贴”部分有效,但我无法将选择复制到剪贴板(使用 验证xsel
)。
到目前为止,我已经尝试过:
我使用 Ubuntu 服务器 14.04.4 和 xfce4-terminal 0.6.3
当我从其他地方填充剪贴板时,MMB、Shift-Insert 和Ctrl+ Shift+工作。V
4 岁问题的答案为什么我不能从 Ubuntu 终端复制文本?没有帮助。