小编syo*_*kit的帖子

如何完全禁用交换?

我正在使用 Debian sid,硬盘格式化为 ext4,在 linux 3.1 上运行

我记得在以前的 linux 版本上(可能在 3.0 之前),如果内存不足,并且没有启用交换,程序通常会崩溃。这非常适合我的环境:简单的网络浏览,没有关键操作。也就是说,如果我不小心遇到一个占用过多内存的坏网站,它只会崩溃而不会使我的终端无法使用。

但是在我当前的设置中,计算机在后台以剧烈的 I/O 吞吐量挂起。iotop 显示 kswapd0 是罪魁祸首,这意味着它是由于交换造成的。在使用swapon -s确定已启用的任何交换之后,我曾经swapoff -a禁用所有交换并swapon -s再次确认所有交换都已禁用。

然后我再次尝试最大化我的内存使用。唉,我期望的行为没有发生。相反,kswapd0 一遍又一遍地尝试换出 RAM,但由于没有交换空间而失败。因为它永不放弃,我的计算机被锁定在永恒的 I/O 严重冻结中,这对我的磁盘健康不利。

我在尝试做错了swapoff -a什么吗?为什么行为与过去不同(可能是 3.0 之前的时代)?

linux debian swap freeze

33
推荐指数
3
解决办法
6万
查看次数

我可以使用我自己的 ld.so.cache 吗?

ldconfig 有两个有趣的选项:

-f conf
      Use conf instead of /etc/ld.so.conf.
-C cache
      Use cache instead of /etc/ld.so.cache.
Run Code Online (Sandbox Code Playgroud)

我尝试复制/etc/ld.so.conf到我自己的主目录,并编辑它以包含我的本地库的路径,例如/home/syockit/local/usr/lib等。然后运行

ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache
Run Code Online (Sandbox Code Playgroud)

随后,为了确认库被缓存,我跑了

ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache -p | less
Run Code Online (Sandbox Code Playgroud)

它确实包括我所有的库,还包括系统库。

现在,我想让默认链接器使用这两个。但是在 中man ld.so,我没有提到能够使用自定义.conf.cache. 那么以上两个选项的意义ldconfig何在呢?

dynamic-linking

14
推荐指数
2
解决办法
9986
查看次数

如何隐藏包不出现在 apt 系统中?

出现在我的卸载包的列表aptitude是巨大的,但充满了我非常确定我永远不会安装的包。例如,我的笔记本电脑使用的是英特尔显卡,因此安装xserver-xorg-video-nouveau. 因此我想永远隐藏它。这在列出 using 时很重要!~i!~v,因为它显示了所有可用于安装的包(我仍然需要知道带有标记为 UNAVAILABLE 的依赖项的包的过滤器),所以如果我可以隐藏它们,就更容易找到我没有尝试过的包.

如果可能,我如何让整个 apt 数据库忽略无趣的包?

aptitude apt

5
推荐指数
1
解决办法
815
查看次数

标签 统计

apt ×1

aptitude ×1

debian ×1

dynamic-linking ×1

freeze ×1

linux ×1

swap ×1