如题所述
如何让linux生成内存dump?
在Linux上只要打开coredump文件开关,当程序crash时系统生成相应的core文件。下面是简单的一些步骤:
1.查看当前是否已经打开了此开关通过命令:ulimit-c如果输出为0,则代表没有打开。如果为unlimited则已经打开了,就没必要在做打开。
2.通过命令打开ulimit-cunlimited.然后通过步骤1,可以监测是否打开成功。
3.如果你要取消,很简单:ulimit-c0就可以了通过上面的命令修改后,一般都只是对当前会话起作用,当你下次重新登录后,还是要重新输入上面的命令,所以很麻烦。我们可以把通过修改/etc/profile文件来使系统每次自动打开。步骤如下:1.首先打开/etc/profile文件一般都可以在文件中找到这句语句:ulimit-S-c0>/dev/null2>1.ok,根据上面的例子,我们只要把那个0改为unlimited就ok了。然后保存退出。2.通过source/etc/profile使当期设置生效。3.通过ulimit-c查看下是否已经打开。其实不光这个命令可以加入到/etc/profile文件中,一些其他我们需要每次登录都生效的都可以加入到此文件中,因为登录时linux都会加载此文件。比如一些环境变量的设置。还有一种方法可以通过修改/etc/security/limits.conf文件来设置,这个方法没有试过,也是网上看到。不过上面两种就可以了!最后说一下生成coredump文件的位置,默认位置与可执行程序在同一目录下,文件名是core.***,其中***是一个数字。coredump文件名的模式保存在/proc/sys/kernel/core_pattern中,缺省值是core。通过以下命令可以更改coredump文件的位置(如希望生成到/tmp/cores目录下)echo“/tmp/cores/core”>/proc/sys/kernel/core_pattern设置完以后我们可以做个测试,写个程序,产生一个异常。然后看到当前目录会有个core*的文件。
linux怎么看内存换算?
linux可以通过htop命令、free命令、映射文件、vmstat命令等进行内存换算。
内存卡文件格式?
windows下主要有FAT16、FAT32、NTFS等,最新格式为exFAT,不同的磁盘格式有不同的特性。
FAT格式基本上已经不再使用。
linux下的格式为ext系列,ext4,ext3等。
MacOSX的硬盘格式是HFS+。
exFAT(WindowsVistaSP1及以上)单文件大小最大可达16EB(18446744073709551616字节,就是(理论值,16×1024×1024TB),1TB=1024G),簇大小可高达32MB,采用了剩余空间分配表,剩余空间分配性能改进,同一目录下最大文件数可达65536个。
NTFS(Windows):支持最大分区2TB,最大文件2TB
FAT16(Windows):支持最大分区2GB,最大文件2GB
FAT32(Windows):支持最大分区124.55GB,除非不再使用“scandisk”,最大文件4GB
HPFS(OS/2):支持最大分区2TB,最大文件2GB
EXT2和EXT3(Linux):支持最大分区16TB,最大文件2TB
EXT4(Linux):使用了B+树索引数据extent的文件系统(有别于EXT2/EXT3),支持最大分区1EB,最大文件16TB
JFS(AIX):支持最大分区4P(blocksize=4k),最大文件4P
XFS(IRIX):这是个正经的64位的文件系统,可以支持9E(2的63次方)的分区
linux下查看内存的命令?
top命令能显示系统内存。目前常用的Linux下查看内容的专用工具是free命令。下面是对内存查看free命令输出内容的解释:
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。熟悉linux基础命令,可以看看《linux就该这么学》一书。
linux用户文件放在什么地方?
linux的用户文件一斑是放在/用户名/home当中的。因为linux有win系统无法想象的严格权限控制,所以在/目录下,也就是根目录下,非root用户是无法写入文件的。linux系统的系统分区用途如下:/根目录,存放系统文件,并且挂载所有的文件系统/home用户主目录/usr软件以及依赖库文件夹/tmp临时文件/opt自定义软件安装文件夹/proc内存虚拟映射/boot启动文件文件夹