Questions tagged «swap»

交换空间是硬盘上的一个区域,当计算机内存已满时,它会溢出。非活动应用程序使用的内存部分写入磁盘,以为其他应用程序和活动文件的磁盘缓存腾出空间。

1
如何在不清除使它成为交换文件的情况下对/ swapfile进行零填充?
我有一个脚本可以运行,以便在备份虚拟客户机之前优化磁盘空间(使用哪个虚拟机管理程序确实没有太大关系)。 现代的Ubuntu版本(例如18.04)似乎默认使用/swapfile而不是分区。也可以 但是,我想对交换文件以及包含它的根分区进行零填充。 对于交换分区,这相对比较容易,因为总有一种方法可以$UUID从交换分区中提取现有分区,并在对分区进行零填充后运行mkswap -U $UUID以重新创建所述交换分区。 但是,/swapfile我不知道该怎么做。虽然我意识到您无法通过挂载/swapfileUUID /etc/fstab,但我仍然想保留UUID。 因此,我认为需要执行以下操作之一: 我需要一种方法,该方法可以将交换文件填满零,而无需擦除使它成为交换分区的那些结构(即避免运行mkswap -U $UUID) 我需要一种方法来从交换检索现有的UUID 文件(而不是一个分区,我可以使用任何来自blkid于看/dev/disk/by-uuid/$UUID...)
8 ubuntu  swap 

1
如何使内核压缩碎片内存
我在跑步Fedora 26。 这是我的算法教授给我的一个非常奇怪的任务。作业说: C中的内存碎片: 设计,实现和执行一个C程序,该程序执行以下操作:它为3m每个大小为800,000个元素的数组序列分配内存;然后它显式地取消分配所有偶数数组,并分配m每个大小为900,000个元素的数组序列。测量程序分配第一个序列和第二个序列所需的时间。选择m耗尽几乎所有程序可用的主内存。” 这样做的总体目标是对内存进行分段,然后请求的内存量要大于连续块的可用内存量,从而迫使操作系统压缩或整理内存碎片。 在课堂上,我问我们应该怎么做,因为内存是可视的,而不是实际上是连续的,他回答:“好吧,您必须关闭[虚拟内存]。” 其他一些学生在课堂上问我们如何知道何时达到“垃圾收集”状态,他说:“第二次分配的时间应该比第一次分配的时间长,因为垃圾收集需要花费时间” 经过一番搜索后,我发现禁用虚拟内存的最接近方法是使用禁用交换内存swapoff -a。我禁用了桌面环境,并从本机终端编译并运行了程序(以避免受到其他进程的干扰,尤其是诸如桌面环境之类的繁重进程)。我这样做并以递增的方式运行程序,m直到达到第二个分配的时间大于第一个分配的时间。 我以递增的方式运行该程序,m并最终找到了第二个分配的时间比第一个分配的时间长的点。但是,在此过程中,我遇到了一个问题,即在第二次分配之前该进程已被终止。我检查了一下dmesg,发现它被oom-killer 杀死。我发现并阅读了有关oom-killer的几篇文章,发现可以禁用内核对内存的过度分配。 我这样做并再次运行程序,只是这次我找不到m第二个的时间比第一个大的时间。最终,随着m越来越大(尽管比启用了过度分配时要小得多),malloc将失败并且我的程序将终止。 我有三个问题,第一个并不是那么重要: 垃圾回收是否是正确的术语?我的教授非常坚定地说这是垃圾收集,但是我假设垃圾收集是通过编程语言完成的,因此将其视为更碎片整理。 在Linux系统上是否可以像他想的那样进行压缩? 为什么在禁用交换但仍启用了内存过度分配的情况下,第二次分配的时间比第一次分配的时间长?压实实际上发生了吗?如果是这样,为什么在禁用内存过度分配后无法达到压缩的程度?

3
如何分配更多的空间来交换并增加其大小,使其大于Ram?
情况:/dev/sda3HD 128 GB时,将交换大小()增加到大于Ram(8 GB)的 动机:8 GB RAM太小;我的SSD中有30 GB的可用空间;我想将20 GB转换为SSD交换 系统的特征 交换不可变/可交换的。我找不到任何证据证明为什么/mnt/.swapfile应该不可变,因此您不需要更改swapfile的文件属性 sudo lsattr /mnt/.swapfile -------------e-- /mnt/.swapfile 命令sudo fdisk -lu /dev/sda给 Disk /dev/sda: 113 GiB, 121332826112 bytes, 236978176 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes …

1
将所有进程的已交换内存拉出交换
在不写入磁盘的情况下,如何快速将所有进程的已交换内存从交换中拉出? 关于这个问题的背景很琐碎,因为系统性的问题是其他各方正在处理,这个问题是必须的。但是,现在,我遇到一个问题,即当负载和IO等待非常高时,我经常不得不释放OpenVZ节点上的交换空间。 交换通常主要由少数几个在单个容器上运行的MySQL和蛤processes进程消耗。重新启动这些服务可以释放交换并解决节点上的问题,但是出于明显的原因,这是不希望的。 我正在寻找一种方法,可以在节点过载时快速从那些进程中释放掉交换,并且需要比当前方法更快的操作: unswap(){ [[ $1 && $(ls /proc/$1/maps) ]] && ((gcore -o /tmp/deleteme $1 &>/dev/null; rm -fv /tmp/deleteme.$1)&) 2>/dev/null || echo "must provide valid pid";};unswap 此核心转储会强制访问所有ram,从而完成了将其退出交换的工作,但是我尚未找到避免将其写入文件的方法。另外,如果我可以隔离当前交换的地址范围并将该部分转储到/ dev / null中,则看起来该过程会更快,但是我还没有找到一种方法来做到这一点。 这是一个巨大的节点,因此通常的交换/交换方法非常耗时,并且再次,该节点的配置不受我的控制,因此解决根本原因并不属于这个问题。但是,如果能洞悉我如何迅速释放掉大部分交换而又不中断/重启任何事情,将不胜感激。 环境:CentOS 6.7 / OpenVZ 对于以后可能会迷失方向的任何人的更新: 使用Jlong的输入,我创建了以下函数: unswap(){ (awk -F'[ \t-]+' '/^[a-f0-9]*-[a-f0-9]* /{recent="0x"$1" 0x"$2}/Swap:/&&$2>0{print recent}' /proc/$1/smaps | while read …

1
内存碎片与是否在系统上启用交换功能之间有任何关系吗?
如果我有足够多的RAM,是否需要交换空间?让我想知道,内存碎片量cat /proc/buddyinfo 和是否使用交换之间是否存在任何关系。更具体地说,我想知道利用交换是否可以减少内存碎片。在正常情况下,在我的系统上工作时,我要进行以下操作: tvbox@tvbox-G31M-ES2L:~$ cat /proc/buddyinfo Node 0, zone DMA 3 3 4 14 16 6 2 0 0 1 0 Node 0, zone Normal 1564 1052 462 356 240 109 33 21 6 1 0 Node 0, zone HighMem 43 1972 839 285 183 109 98 34 16 0 …
8 memory  swap 

2
掉期-会发生什么?
在我的具有512 MB RAM和348 MB交换空间的Debian VM机器上,如果在编辑器中打开1 GB的文件而内存不足,会发生什么情况? 它会使系统崩溃吗?否则,Linux将如何处理? 安装Swapspace是否明智,因此如果需要,可以自动动态创建足够的交换空间? sudo apt-get install swapspace

1
可以为每个用户加密交换吗?
对于具有加密交换的多用户计算机而言,出现了一个问题,即如何允许每个用户休眠并从休眠中恢复而不损害其他用户的安全性。 我正在寻找在每个用户的交换使用专门为其加密的方式,这样,当他们想从休眠中恢复,他们可以进入只有这样做他们的口令/密码。他们不应该能够解密其他用户的交换。必须停止所有用户的进程,直到相应的用户可以提供其密码短语以解密其交换并继续其进程为止。 用户可能希望对他们的某些或所有进程进行加密,以便无论谁恢复计算机都可以继续进行操作。 只要系统进程中没有存储任何个人数据,并且系统不允许用户的密钥进行交换,那么系统的交换就不需要加密,这意味着任何用户都可以在不损害其他用户的情况下恢复系统。 请注意,这可以通过使用存储在BIOS固件(例如Coreboot或LibreBoot)中的密钥对系统进行加密来补充,以使篡改非常困难,但这是一种根本不同的方法,其基于篡改所涉及的硬件(而不是完整硬件)的明显难度。加密方法,以防止人们在篡改的情况下无法读取他人的个人数据。为了获得最佳安全性,可以将这两种机制一起使用,但是在这个问题上,我要求使用完全加密的方法。 从理论上讲,这是有道理的,但在实践中,它可能无法实现。我希望这在Linux中是可能的。

1
我可以通过使用多个硬盘来加速交换吗?
我仍然有两个旧的ATA驱动器(一个只有8GB,一个有点缺陷),我一直在考虑将它们放入PC并激活它们上的交换功能。这会产生什么影响?我的系统是否将数据均匀分布在驱动器上,以便交换变得更快?
8 linux  swap 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.