我急需帮助。
我的系统变得非常滞后,几乎无法使用。我意识到这是因为出于某种原因,我没有使用虚拟内存(这不是故意的)。这是最近才出现的现象,几天前系统响应速度要快得多,所以我只能总结说这是最近才出现的现象。我想不出我做了什么导致这种情况(除了尝试使用休眠功能,但失败了 - 是不是我的交换分区被垃圾填满了,然后就留在那里了?我不知道。我怎么才能找出答案?)
作为一名新手,我使用 LUKS 在完全加密的 SSD 上运行,这进一步加剧了我的困难。每个人都在向我发布别人发布过链接的页面链接,老实说,我完全无法理解。我向你保证,用一台需要十秒钟才能识别一次按键的机器来搜索信息一点也不好玩。
(当然,重启后这种情况仍然存在)
首先,情况证明:swapon
表明我没有交换:
user@host:~$ sudo swapon -s
[sudo] password for user:
Filename Type Size Used Priority
user@host:~$
其次,的输出df
表明我的文件系统是如何挂载的:
user@user~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu--vg-root 237978256 14110548 211756044 7% /
none 4 0 4 0% /sys/fs/cgroup
udev 3829132 4 3829128 1% /dev
tmpfs 3844736 8 3844728 1% /tmp
tmpfs 768948 1256 767692 1% /run
none 5120 0 5120 0% /run/lock
none 3844736 20948 3823788 1% /run/shm
none 102400 16 102384 1% /run/user
tmpfs 3844736 0 3844736 0% /var/spool
tmpfs 3844736 24 3844712 1% /var/tmp
tmpfs 3844736 624 3844112 1% /var/log
/dev/sda1 240972 84550 143981 37% /boot
/home/user/.Private 237978256 14110548 211756044 7% /home/user
user@host:~$
接下来是我的/etc/fstab
文件,目前的状态是:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/ubuntu--vg-root / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation UUID=db8c65e2-82fd-492c-8f02-8ad140f7337b /boot ext2 defaults 0 2
/dev/mapper/ubuntu--vg-swap_1 none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
最后,我想说一下,我启动了一个 Live-USB 发行版,并system-config-lvm
查看了我未安装的 LVM,它/dev/ubuntu-vg/swap_1
确实在那里。
我不知道还能做什么。我花了三个小时才打出这篇文章。
编辑:添加输出cat /etc/exports/
:
user@host:~$ cat /etc/exports
cat: /etc/exports: No such file or directory
user@host:~$
以及输出top
top - 19:10:16 up 32 min, 3 users, load average: 0.18, 0.11, 0.07
Tasks: 202 total, 1 running, 201 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.7 sy, 0.0 ni, 98.5 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 7689472 total, 1220864 used, 6468608 free, 44020 buffers
KiB Swap: 0 total, 0 used, 0 free. 549276 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1396 root 20 0 288660 48264 40612 S 1.7 0.6 0:03.80 Xorg
2279 user 20 0 856444 16252 11668 S 1.0 0.2 0:01.67 lxterminal
3140 user 20 0 1169836 142804 60396 S 0.7 1.9 0:09.86 chrome
635 root -51 0 0 0 0 S 0.3 0.0 0:00.41 irq/62-iwlwifi
3118 ntp 20 0 33504 2136 1528 S 0.3 0.0 0:00.04 ntpd
3326 user 20 0 1038132 111152 48620 S 0.3 1.4 0:11.06 chrome
3374 user 20 0 29192 1736 1212 R 0.3 0.0 0:00.03 top
1 root 20 0 34052 3436 1484 S 0.0 0.0 0:03.97 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root 20 0 0 0 0 S 0.0 0.0 0:00.24 rcu_sched
8 root 20 0 0 0 0 S 0.0 0.0 0:00.08 rcuos/0
9 root 20 0 0 0 0 S 0.0 0.0 0:00.06 rcuos/1
10 root 20 0 0 0 0 S 0.0 0.0 0:00.07 rcuos/2
11 root 20 0 0 0 0 S 0.0 0.0 0:00.10 rcuos/3
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/4
我拼命地四处寻找(无论如何,这是我目前所处境况下能做到的最好事情),我发现这个古老的帖子说有人在使用 cryptswap 时遇到了问题但老实说,我太菜了,无法理解他在说什么以及如何mkswap
重建交换分区(老实说,我甚至不清楚需要将哪些参数传递给 mkswap 以避免通过意外覆盖我的主分区来破坏我的系统...我在 fstab 中看到我似乎有两个看起来像交换的条目(swap_1
和cryptswap
)并且我不知道这两者中的哪一个是假设的目标,更不用说所有深奥的术语了。)
答案1
我遇到了同样的问题,Eliah Kagan 的回答另一个线程对我来说很管用。
这是最重要的一点:
- 打开终端窗口(Ctrl++ Alt)T或虚拟控制台并运行:
sudo swapoff -a
- 打开
/etc/crypttab
(例如,sudo nano -w /etc/crypttab
或sudo -H gedit /etc/cryptab
用于 GUI 编辑器)并将 放在#
以 开头的行的开头cryptswap1
。保存文件。 /dev/mapper/cryptswap1
对以in开头的行执行相同的操作/etc/fstab
。- 安装分区。运行它并将交换分区格式化为
linux-swap
。确保获取正确的分区;如果获取错误的分区,您可能会丢失重要的数据!注释掉的行crypttab
应该给出正确的分区名称(它紧随其后/dev/
)。 - 运行
sudo mkswap /dev/...
,...
使用相同的设备名称。该命令的输出部分应为文本,说明UUID=.....
其中.....
是一串字母和数字。 - 在文件中,找到上一步中
/etc/initramfs-tools/conf.d/resume
显示的行,RESUME=UUID=
后面跟着类似(但不完全相同)的字母和数字。将它们替换为(即,使用后面给出的字母和数字。.....
.....
mkswap
UUID=
- 运行(与上面的步骤 4 和 5
sudo swapon /dev/...
相同)。/dev/...
- 跑步
sudo ecryptfs-setup-swap
。
swapon -s
将检查交换是否已成功启用。请参阅那篇博客文章以获取更多信息和示例输出,以检查这一点。
不再有滞后行为ð‿ð 嘿,看,imgur 给这张图片起了一个回文名字
答案2
我不确定这是否算作一个“解决方案”(因为我不太确定除了成功重新启用虚拟内存之外我还解决了什么问题),但是通过注释掉“cryptoswap”行,/etc/fstab
它显示
# /dev/mapper/cryptswap1 none swap sw 0 0
允许 swapon 成功激活 swap on/dev/mapper/ubuntu—-vg-swap_1
我注意到的延迟似乎与 TPM(电源管理)有关,但我还不知道如何解决这个问题。我刚刚发现,通过连接到外部电源,问题会消失,直到下次重启。
答案3
您的基本问题与交换无关。缺少交换会导致 OOM 崩溃,而不是延迟。我认为您的问题是您有 LUKS 加密磁盘,并将 ecryptfs 加密的主文件夹放在它上面(除非,当然,您出于~/.Private
某种原因手动调用了挂载点)这会导致 CPU 过度使用,这只会增加您在主目录中放置的文件数量。
我建议您删除主文件夹加密,或者至少将所有非隐藏文件移出到其他地方。