没有交换分区!

没有交换分区!

我急需帮助。

我的系统变得非常滞后,几乎无法使用。我意识到这是因为出于某种原因,我没有使用虚拟内存(这不是故意的)。这是最近才出现的现象,几天前系统响应速度要快得多,所以我只能总结说这是最近才出现的现象。我想不出我做了什么导致这种情况(除了尝试使用休眠功能,但失败了 - 是不是我的交换分区被垃圾填满了,然后就留在那里了?我不知道。我怎么才能找出答案?)

作为一名新手,我使用 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_1cryptswap)并且我不知道这两者中的哪一个是假设的目标,更不用说所有深奥的术语了。)

答案1

我遇到了同样的问题,Eliah Kagan 的回答另一个线程对我来说很管用。
这是最重要的一点:

  1. 打开终端窗口(Ctrl++ AltT或虚拟控制台并运行:sudo swapoff -a
  2. 打开/etc/crypttab(例如,sudo nano -w /etc/crypttabsudo -H gedit /etc/cryptab用于 GUI 编辑器)并将 放在#以 开头的行的开头cryptswap1。保存文件。
  3. /dev/mapper/cryptswap1对以in开头的行执行相同的操作/etc/fstab
  4. 安装分区安装 gparted。运行它并将交换分区格式化为linux-swap。确保获取正确的分区;如果获取错误的分区,您可能会丢失重要的数据!注释掉的行crypttab应该给出正确的分区名称(它紧随其后/dev/)。
  5. 运行sudo mkswap /dev/......使用相同的设备名称。该命令的输出部分应为文本,说明UUID=.....其中.....是一串字母和数字。
  6. 在文件中,找到上一步中/etc/initramfs-tools/conf.d/resume显示的行,RESUME=UUID=后面跟着类似(但不完全相同)的字母和数字。将它们替换为(即,使用后面给出的字母和数字。..........mkswapUUID=
  7. 运行(与上面的步骤 4 和 5sudo swapon /dev/...相同)。/dev/...
  8. 跑步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 过度使用,这只会增加您在主目录中放置的文件数量。
我建议您删除主文件夹加密,或者至少将所有非隐藏文件移出到其他地方。

相关内容