Ⅰ 如何查询和修改linux操作系统生成core mp文件的默认路径
临时修改:修改/proc/sys/kernel/core_pattern文件,但/proc目录本身是动态加载的,每次系统重启都会重新加载,因此这种方法只能作为临时修改。 /proc/sys/kernel/core_pattern
例:echo ‘/var/log/%e.core.%p’ > /proc/sys/kernel/core_pattern
永久修改:使用sysctl -w name=value命令。
例:/sbin/sysctl -w kernel.core_pattern=/var/log/%e.core.%p
Ⅱ LINUX core怎么设置
放里面,记得在CMOS里面设置成光驱启动哟,然后就进入第一个画面了(由于LINUX安装时无法抓图,所以我用数码相机拍的,图片质量很差,请见谅。)
,版本不是问题,所有的LINUX安装差不多,出现几排字,上面是要你选择图形界面安装,或是文字界面安装,屏幕最下面有个BOOT:的提示符,在这里直接按回车就是图形安装,输入TEXT然后回车就是文字安装,建议你使用图形的界面进行安装,如果直接能够进入图形安装,说明你的显卡配置不成问题了,文字的其实也差不多,不同的是一个用鼠标一个用键盘而已,由于LINUX的版本很多,但是安装方法几乎相同,所以我这里就以REDHAT7。1的安装为例,向大家描述整个安装过程,如果你的是红旗,蓝点,或其他版本,中文的版本,也可以对照进行。
进入图形界面以后,先是语言选择画面,默认是英语,(靠,redhat这真他NN的不象话,就是没有Chinese选)
然后我们看看,是键盘设置,如果你的键盘不是很特别,一般就保持默认设置,直接选NEXT
鼠标设置,选择你的鼠标,PS2接口,串口,两键,三键,如果不确定就用默认的,直接选NEXT
然后我们看到一段欢迎的画面(Welcome to redhat linux),这里无关紧要,直接选NEXT
好,到了安装选择的一步,这里分为两大部分,一是安装,二是升级,安装部分又可选择工作站,服务器,笔记本电脑,和自定义安装,如果是第一次装,请先试试,工作站安装。
然后到了分区的选项,有两个选择,一是用Disk Druid手动分区,二是用fdisk手动分区。我们选上面的
到了这里,我们就可以看到你的硬盘所有的分区,这里我们要记得一点,就是用笔记本抄下每行的第二个数据,如:hda1,hda5,等等,这是你的硬盘上的分区在LINUX下名字,记下以后,通过修改/etc/fstab文件,可以实现在LINUX下面访问WINDWOS的分区。(此方法在后面详细再讲)
我们在LINUX的主分区上面双击鼠标左键,就弹出一个对话框,我们输入一个/以后回车就可以了
这一步我们直接选NEXT,等安装完以后就可以直接用LINUX启动计算机。
网络设置,如果你是拨号的话,就直接选NEXT,如果你是通过局域网或是宽带上网,就需要填写IP和网关。
网络服务选择,我们用暂时默认的
支持语言选择,如果你英语好,就直接选NEXT,如果你想尝试汉化REDHAT,那么最好选上中文,如果找不到,就全选。
时区选择,这里点一下中国地图上的城市就可以了
口令设置,输入你的口令,还可以添加用户,可以添加可以不添加,口令不输入的话为空。
自定义软件,这里把三个空格都打上钩,然后选NEXT,这样我们就安装了2种图形,GNOME,KDE,以及游戏,如果你想装别的软件,就选中最下面的select indivial packages,那么就可以自定义安装,
里面软件很多,我不知道怎么选,所以就全选中了,以后可以慢慢试,不过这里全装的话,一共有2G多哟
然后是显卡设置,在这里找到自己的显卡型号
显示器设置
这里是设置进入XWINDOWS以后的分辨率,以及文字方式登陆和图形方式登陆的选择
然后一直NEXT就可以了,REDHAT7。1的安装也就到此告一段落了,慢慢等进度条加满
创建启动盘,直接选NEXT(记得放软盘哟),不想创建就选中Skip boot disk creation,再选下一步。
然后连选NEXT就结束了
参考资料:
另外,团IDC网上有许多产品团购,便宜有口碑
Ⅲ linux core 怎么打开
core文件是由应用程序收到系统信号后崩溃产生的,该文件中记录了程序崩溃的原因(例如收到那种信号),调用堆栈和崩溃时的内存及变量值等等的信息。
打开core文件与编译时使用的编译器有关,但绝大多数linux程序是使用gcc编译器编译的,因此可使用对应gdb调试器打开,命令格式如下:
$ gdb 应用程序文件名 core文件名
举例:
$ gdb /usr/bin/gedit ~/core ------ 查看由gedit崩溃产生的core文件
(gdb) bt ------ 或者backtrace, 查看程序运行到当前位置之前所有的堆栈帧情况)
(gdb) quit ------ 退出
如果不知道core文件由哪个文件产生的,可使用file命令显示
$ file core
Ⅳ linux系统下调试core文件耗不耗资源
linux下core文件调试方法在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。
1.core文件的生成开关和大小限制
(1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。
(2)使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。若ulimit -c unlimited,则表示core文件的大小不受限制。如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整的core文件。在调试此core文件的时候,gdb会提示错误。
2.core文件的名称和生成路径
core文件生成路径:
输入可执行文件运行命令的同一路径下。
若系统生成的core文件不带其它任何扩展名称,则全部命名为core。新的core文件生成将覆盖原来的core文件。
(1)/proc/sys/kernel/core_uses_pid可以控制core文件的文件名中是否添加pid作为扩展。文件内容为1,表示添加pid作为扩展名,生成的core文件格式为core.xxxx;为0则表示生成的core文件同一命名为core。
可通过以下命令修改此文件:
echo "1" > /proc/sys/kernel/core_uses_pid
(2)proc/sys/kernel/core_pattern可以控制core文件保存位置和文件名格式。
可通过以下命令修改此文件:
echo "/corefile/core-%e-%p-%t" > core_pattern,可以将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
以下是参数列表:
%p - insert pid into filename 添加pid
%u - insert current uid into filename 添加当前uid
%g - insert current gid into filename 添加当前gid
%s - insert signal that caused the coremp into the filename 添加导致产生core的信号
%t - insert UNIX time that the coremp occurred into filename 添加core文件生成时的unix时间
%h - insert hostname where the coremp happened into filename 添加主机名
%e - insert coremping executable name into filename 添加命令名
3.core文件的查看
core文件需要使用gdb来查看。
gdb ./a.out
core-file core.xxxx
使用bt命令即可看到程序出错的地方。
以下两种命令方式具有相同的效果,但是在有些环境下不生效,所以推荐使用上面的命令。
(1)gdb -core=core.xxxx
file ./a.out
bt
(2)gdb -c core.xxxx
file ./a.out
bt
4.开发板上使用core文件调试
如果开发板的操作系统也是linux,core调试方法依然适用。如果开发板上不支持gdb,可将开发板的环境(依赖库)、可执行文件和core文件拷贝到PC的linux下。
在 PC上调试开发板上产生的core文件,需要使用交叉编译器自带的gdb,并且需要在gdb中指定solib-absolute-prefix和 solib-search-path两个变量以保证gdb能够找到可执行程序的依赖库路径。有一种建立配置文件的方法,不需要每次启动gdb都配置以上变量,即:在待运行gdb的路径下建立.gdbinit。
配置文件内容:
set solib-absolute-prefix YOUR_CROSS_COMPILE_PATH
set solib-search-path YOUR_CROSS_COMPILE_PATH
set solib-search-path YOUR_DEVELOPER_TOOLS_LIB_PATH
handle SIG32 nostop noprint pass
注意:待调试的可执行文件,在编译的时候需要加-g,core文件才能正常显示出错信息!有时候core信息很大,超出了开发板的空间限制,生成的core信息会残缺不全而无法使用,可以
Ⅳ 怎么查看Linux的core开关,以及如何打开和关闭
mp文件可以在程序crash时,方便我们查看程序crash的地方和上下文信息。在window下,要能生成mp文件,需要自己编写相应的代码。不过现在网上可以找到相应的代码,只要把它下载后然后加到自己的工程中去,就可以了!在linux下面就简单的许多。只要打开相应的开关,linux会自动在程序crash时生成相应的core文件。这个文件和window下的mp文件类似。
下面是简单的一些步骤:
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*的文件。然后我们可以
gdb core。* 程序 进行调试。
Ⅵ 如何在Linux服务器上部署.Net Core
如何在Linux服务器上部署.Net Core?.Net Core是.Net Framework的新一代版本,对于新手来说,将.Net Core部署在Linux服务器上是一件相当困难的事,为了帮助大家解决困难,今天小编要给大家分享如何在Linux服务器上部署.Net Core?
1、简介
一直以来,微软只对自家平台提供.NET支持,这样等于让这个“理论上”可以跨平台的框架在Linux和macOS上的支持只能由第三方项目提供(比如Mono .NET)。直到微软推出完全开源的.NET Core。这个开源的平台兼容.NET Standard,并且能在Windows、Linux和MacOS上提供完全一致的API。虽然这个小巧的.NET框架只是标准.NET的一个子集,但是已经相当强大了。
一方面,这个小巧的框架可以让某些功能性应用同时运行在三个平台上(就像某些功能性的Python脚本一样),另一方面,这也可以让服务器运维人员将ASP .NET服务程序部署在Linux服务器上(特别是对于运行Windows Server较为吃力的服务器)。
2、部署.NET Core
由于我没有可用的macOS设备,我将仅用Linux(服务器)作示范。我作示范的服务器是CentOS7操作系统。
SSH连接至服务器,安装.NET Core的依赖项:
然后从微软官方获取.NET Core的主程序:
如果你的服务器不能正确访问这个地址,你可能需要手动访问后面的地址,下载完毕之后,用任意一种方法传递进服务器,并命名为dotnet.tar.gz。
执行指令将组件解压至指定的位置:
创建链接以在任何路径下直接引用dotnet指令:
至此,.NET Core框架应该就在你的服务器上搭建好了。
3、尝试部署一个ASP .NET服务程序
在本地计算机上,修改Visual Studio功能,确保这一项是被安装的:
启动Visual Studio,新建一个ASP .NET Core项目:
类型选择Web应用程序。我们不对示例作太大的修改,仅仅是为了演示ASP .NET运行于.NET Core的状况。在项目资源管理器内打开Program.cs,依然是熟悉的C#代码:
为了能正常运行,我们稍稍修改代码,让host的对象初始化器看起来是这个样子:
保存工程,将整个解决方案上传至服务器。再次连接服务器,导航到你存放工程文件的目录下,执行指令:
该指令指挥.NET Core恢复这个工程引用的包,耐心等待指令执行完毕。
接着,执行指令:
这条指令将使.NET Core编译并运行这个工程。控制台没有错误信息并产生类似输出,你的ASP .NET Core应用程序就应该在正确运行了:
试着在任意设备上访问你服务器的IP地址(或者域名),如果能正确加载默认页面,你的.NET Core环境就算部署完毕了:
这个.NET框架只是.NET标准的一个子集,不一定能100%兼容一个复杂的ASP .NET服务程序。但是利用这个框架,你可以把服务器切换至Linux系统,却仍然采用ASP .NET作为服务程序的具体实现方法。你也不必为了调试运行于Linux的服务程序而专门去配置一个Linux工作环境——因为.NET Core也可以运行在Windows上,Visual Studio本身就支持使用IIS Express来本地调试一个ASP .NET Core应用程序。
Ⅶ LINUX core mp怎么设置
ulimit -c 1000000
设置 core 文件大小限制为 1000000字节。
系统默认的一般是0,也就是禁止导出 core 文件。
Ⅷ RedHat Linux下如何生成core mp文件
在linux平台下,设置core mp文件生成的方法:
1 )如何生成 coremp 文件
登陆 LINUX 服务器,任意位置键入
echo "ulimit -c 1024" >> /etc/profile
退出 LINUX 重新登陆 LINUX
键入 ulimit -c
如果显示 1024 那么说明 coremp 已经被开启。
1024 限制产生的 core 文件的大小不能超过 1024kb,可以使用参数unlimited,取消该限制
ulimit -c unlimited
2 ) . core 文件的简单介绍
在一个程序崩溃时,它一般会在指定目录下生成一个 core 文件。 core 文件仅仅是一个内存映象 ( 同时加上调试信息 ) ,主要是用来调试的。
3 ) . 开启或关闭 core 文件的生成
用以下命令来阻止系统生成 core 文件 :
ulimit -c 0
下面的命令可以检查生成 core 文件的选项是否打开 :
ulimit -a
该命令将显示所有的用户定制,其中选项 -a 代表“ all ”。
也可以修改系统文件来调整 core 选项
在 /etc/profile 通常会有这样一句话来禁止产生 core 文件,通常这种设置是合理的 :
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
但是在开发过程中有时为了调试问题,还是需要在特定的用户环境下打开 core 文件产生的设置。
在用户的 ~/.bash_profile 里加上 ulimit -c unlimited 来让特定的用户可以产生 core 文件。
如果 ulimit -c 0 则也是禁止产生 core 文件,而 ulimit -c 1024 则限制产生的 core 文件的大小不能超过 1024kb
4 ) . 设置 Core Dump 的核心转储文件目录和命名规则
/proc/sys/kernel/core_uses_pid 可以控制产生的 core 文件的文件名中是否添加 pid 作为扩展 ,如果添加则文件内容为 1 ,否则为 0
proc/sys/kernel/core_pattern 可以设置格式化的 core 文件保存位置或文件名 ,比如原来文件内容是 core-%e
可以这样修改 :
echo "/corefile/core-%e-%p-%t" > core_pattern
将会控制所产生的 core 文件会存放到 /corefile 目录下,产生的文件名为 core- 命令名 -pid- 时间戳
以下是参数列表 :
%p - insert pid into filename 添加 pid
%u - insert current uid into filename 添加当前 uid
%g - insert current gid into filename 添加当前 gid
%s - insert signal that caused the coremp into the filename 添加导致产生 core 的信号
%t - insert UNIX time that the coremp occurred into filename 添加 core 文件生成时的 unix 时间
%h - insert hostname where the coremp happened into filename 添加主机名
%e - insert coremping executable name into filename 添加命令名
6 ) . 一个小方法来测试产生 core 文件
直接输入指令 :
kill -s SIGSEGV $$
发生coremp一般都是在进程收到某个信号的时候,Linux上现在大概有60多个信号,可以使用 kill -l 命令全部列出来。
针对特定的信号,应用程序可以写对应的信号处理函数。如果不指定,则采取默认的处理方式, 默认处理是coremp的信号如下:
3)SIGQUIT 4)SIGILL 6)SIGABRT 8)SIGFPE 11)SIGSEGV 7)SIGBUS 31)SIGSYS
5)SIGTRAP 24)SIGXCPU 25)SIGXFSZ 29)SIGIOT
我们看到SIGSEGV在其中,一般数组越界或是访问空指针都会产生这个信号。另外虽然默认是这样的,但是你也可以写自己的信号处理函数改变默认行为。
上述内容只是产生coremp的必要条件,而非充分条件。要产生core文件还依赖于程序运行的shell,可以通过ulimit -a命令查看
Ⅸ linux下的core文件是怎么生成的
在linux平台下,设置core mp文件生成的方法: 1 )如何生成 coremp 文件 登陆 LINUX 服务器,任意位置键入 echo "ulimit -c 1024" >> /etc/profile 退出 LINUX 重新登陆 LINUX 键入 ulimit -c 如果显示 1024 那么说明 coremp 已经被开启。...