① linux操作系统下怎么样建立虚拟内存
Linux虚拟内存就是swap分区,也叫交换分区。如果你的swap分区在/分区之后而且swap后面还有空白空间的话,可以格式化掉swap然后重新建一个更大的swap分区;如果swap在/分区之前的,调整很有可能会引起无法启动,特别是/分区大小千万不要调整,不然肯定会启动不了。
② 如何在Linux上重建初始化内存盘镜像文件
在CentOS 5.X / RHEL 5.X中,可以用mkinitrd命令来创建初始化内存盘文件,举例如下:# mkinitrd -f -v /boot/initrd-$(uname -r).img $(uname -r)如果你想要给特定的内核版本创建初始化内存盘,你就用所需的内核名替换掉 ‘uname -r’ 。在CentOS 6.X / RHEL 6.X中,则用dracut命令来创建初始化内存盘文件,举例如下:# dracut -f以上命令能给当前的系统版本创建初始化内存盘,给特定的内核版本重建初始化内存盘文件则使用以下命令:# dracut -f initramfs-2.x.xx-xx.el6.x86_64.img 2.x.xx-xx.el6.x86_64还有不会的请参考《linux就该这么学》,针对各种linux疑难杂症,帮助linux学习者。
③ linux怎么实现创建一个内存文件
你的意思是要在内存中储存文件么,如果是有文件系统的,可以通过创建tmpfsmount -t tmpfs -o size=60M tmpfs /home/xxx就是把大小是60M的tmpfs文件系统挂在到/home/xxx
④ Linux内核中如何申请和释放内存
摘要您好, 内核初始化:
⑤ 如何在linux上重建初始化内存盘镜像文件
在CentOS 5.X / RHEL 5.X中,可以用mkinitrd命令来创建初始化内存盘文件,举例如下:# mkinitrd -f -v /boot/initrd-$(uname -r).img $(uname -r)如果你想要给特定的内核版本创建初始化内存盘,你就用所需的内核名替换掉 uname -r。在CentOS 6.X / RHEL 6.X中,则用dracut命令来创建初始化内存盘文件,举例如下:# dracut -f以上命令能给当前的系统版本创建初始化内存盘,给特定的内核版本重建初始化内存盘文件则使用以下命令:# dracut -f initramfs-2.x.xx-xx.el6.x86_64.img 2.x.xx-xx.el6.x86_64请参考《Linux就该这么学》入门书籍。
⑥ 如何在Linux上重建初始化内存盘镜像文件
在CentOS 5.X / RHEL 5.X中, 可以用mkinitrd命令来创建初始化内存盘文件,举例如下: 1.# mkinitrd -f -v /boot/initrd-$(uname -r).img $(uname -r) 如果你想要给特定的内核版本创建初始化内存盘,你就用所需的内核名替换掉 'uname -r' 。
⑦ linux上怎么用C++实现虚拟内存的创建和管理
#ifndef WIN32#ifndef SHM_R#define SHM_R (256) //共享内存只读#endif#ifndef SHM_W #define SHM_W (128) //共享内存只写#endif#ifndef SHM_OPEN#define SHM_OPEN (SHM_R | SHM_W | SHM_R >> 3 | SHM_W >> 3 | SHM_R >> 6 | SHM_W >> 6) //打开共享内存,如果不存在则出错#endif#ifndef SHM_CREATE#define SHM_CREATE (SHM_OPEN | IPC_CREAT) //建立共享内存,如果已存在则出错#endif#include <sys/types.h>#include <sys/shm.h>#endifclass yCShm{public: yCShm () { m_nShmID = 0; } //析构函数 ~yCShm () { } public: int Create (const char *pIPCName, int nShmSize) { key_t key = ftok (pIPCName, 0x111); if (key < 0) { printf("create shm 1\r\n"); return 0; } if ((m_nShmID = shmget (key, nShmSize, SHM_CREATE)) == -1) { if ((m_nShmID = shmget (key, nShmSize, SHM_OPEN)) == -1) { m_nShmID = 0; printf("create shm 2\r\n"); return 0; } } printf("create shm 3\r\n"); return 1; } int Drop () { if (m_nShmID != 0) { shmctl (m_nShmID, IPC_RMID, NULL); m_nShmID = 0; } return 1; } void *Shmat ( const void * pAddr=0, int nFlag=0) { void *pointer = NULL; pointer = (void *) shmat (m_nShmID, pAddr, nFlag); if (pointer == ((void *) -1)) pointer = NULL; return pointer; }private: int m_nShmID; //共享内存ID char shm_name[50]; //共享内存映射文件名(也就是Create的第一个参数)};int main(int argc, char* argv[]){ yCShm rshm; rshm.Create("./temp",1); rshm.Create("./temp",1024*1024); void *p=rshm.Shmat(0,0); if(p) { printf("create shm succ\r\n"); } else { printf("create shm fail\r\n"); } getchar(); rshm.Drop(); return 0;}
⑧ 如何让linux生成内存mp
在Linux上只要打开core mp文件开关,当程序crash时系统生成相应的core文件。下面是简单的一些步骤:1.查看当前是否已经打开了此开关通过命令:ulimit -c 如果输出为 0 ,则代表没有打开。如果为unlimited则已经打开了,就没必要在做打开。2.通过命令打开ulimit -c unlimited .然后通过步骤1,可以监测是否打开成功。3.如果你要取消,很简单:ulimit -c 0 就可以了通过上面的命令修改后,一般都只是对当前会话起作用,当你下次重新登录后,还是要重新输入上面的命令,所以很麻烦。我们可以把通过修改 /etc/profile文件 来使系统每次自动打开。步骤如下:1.首先打开/etc/profile文件一般都可以在文件中找到 这句语句:ulimit -S -c 0 > /dev/null 2>&1.ok,根据上面的例子,我们只要把那个0 改为 unlimited 就ok了。然后保存退出。2.通过source /etc/profile 使当期设置生效。3.通过ulimit -c 查看下是否已经打开。其实不光这个命令可以加入到/etc/profile文件中,一些其他我们需要每次登录都生效的都可以加入到此文件中,因为登录时linux都会加载此文件。比如一些环境变量的设置。还有一种方法可以通过修改/etc/security/limits.conf文件来设置,这个方法没有试过,也是网上看到。不过上面两种就可以了!最后说一下生成core mp文件的位置,默认位置与可执行程序在同一目录下,文件名是core.***,其中***是一个数字。core mp文件名的模式保存在/proc/sys/kernel/core_pattern中,缺省值是core。通过以下命令可以更改core mp文件的位置(如希望生成到/tmp/cores目录下)echo “/tmp/cores/core” > /proc/sys/kernel/core_pattern设置完以后我们可以做个测试,写个程序,产生一个异常。然后看到当前目录会有个core*的文件。
⑨ 如何创建任意大小的linux内存虚拟硬盘
您讲的内存盘是英复译过来制的:即ramdisk,并非虚拟内存大多数的Linux发行版本中,内存盘默认使用的是/dev/shm 路径,文件系统类型为tmpfs默认大小是内存实际的大小,这很符合实际的操作习惯,操作这个路径就是对内存的操作。我们可以重新设置这个内存盘的大小,或者建立新的内存盘,以加速一些特别的应用,例如squid的缓冲,dns的缓冲文件等等。重设内存盘大小:例如:mount -o remount,size=3G /dev/shm注意size的大小可以的单位是M\k\G新建内存盘:例如:mkdir /usr/local/squid/var/cachemount -t tmpfs -o size=3G,mode=0755 tmpfs /usr/local/squid/var/cache注意重新设置内存盘后为了使用下次启用生效必须写到fstab文件中,一般linux是在/etc/fstab中。
未经允许不得转载:山九号 » linux内存文件创建|如何创建任意大小的linux内存虚拟硬盘