- 博客(186)
- 收藏
- 关注
原创 man rsyslog.conf的介绍
这篇博文是在CentOS Linux release 7.0.1406(Core)的发行版本下写的,发行版本可以通过cat /etc/centos-release查看。 下面翻译的是man rsyslog.conf中对于rsyslog.conf的介绍:1、名称: rsyslog.conf-rsyslogd(8)的配置文件;2、描述: rsyslog.conf文
2015-04-29 12:49:25 4133
转载 CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
一、简介LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案
2015-04-28 22:05:47 1126
转载 linux的线程模型:2.6是个分界点
轻量级进程LWP 既然称作轻量级进程,可见其本质仍然是进程,与普通进程相比,LWP与其它进程共享所有(或大部分)逻辑地址空间和系统资源,一个进程可以创建多个LWP,这样它们共享大部分资源;LWP有它自己的进程标识符,并和其他进程有着父子关系;这是和类Unix操作系统的系统调用vfork()生成的进程一样的。LWP由内核管理并像普通进程一样被调度。Linux内核是支持LWP的典型例子。
2015-04-27 17:12:45 1645
转载 Linux线程之线程栈
我们接上一篇继续学习,这一篇的重点放在线程栈上。 我们用过pthread_create接口,也用过pthread_self接口,请看manual中的声明: #include pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
2015-04-27 16:57:43 949
原创 linux线程点滴
1、(http://bbs.csdn.net/topics/330224117)Linux其实是没有线程的概念,所谓的线程不过是一个轻量级的进程内核线程拥有 进程描述符、PID、进程正文段、核心堆栈用户进程拥有 进程描述符、PID、进程正文段、核心堆栈 、用户空间的数据段、堆栈、堆用户线程拥有 进程描述符、PID、进程正文段、核心堆栈,用户空间的堆栈,同父进程共享用户空间的数据
2015-04-27 16:52:33 1019
转载 堆空间和栈空间大小
我们知道,程序运行时在内存中主要有代码段、数据段、堆栈段(堆空间和栈空间)、进程头、动态链接库等区域。 其中数据使用到的:数据段:静态内存空间,其中数据的总大小和初始值在编译时确定,数据在整个程序运行时一直存在。栈空间:自动内存空间,其中数据的大小在编译时确定,数据的分配和释放也由编译器在函数进入和退出时插入指令完成,数据生命周期和函数一样。堆空间:动态(手动)内存空间,其中数
2015-04-27 16:49:37 3833
转载 进程与线程栈大小的调整(精)
摘要 通过ulimit设置及可用的Pthread库接口来调整进程或线程的运行栈的大小,以改善嵌入式中内存的使用。线程 栈大小 ulimit pthread目录[-]问题现象现象分析问题现象首先看一个现象,最近在嵌入式项目开发中发现的,下面是设备的内存总量及使用:总量是24M左右,项目主程序大小1M不到,但是在默认的
2015-04-27 16:39:05 8748 5
转载 linux的线程模型:2.6是个分界点
轻量级进程LWP 既然称作轻量级进程,可见其本质仍然是进程,与普通进程相比,LWP与其它进程共享所有(或大部分)逻辑地址空间和系统资源,一个进程可以创建多个LWP,这样它们共享大部分资源;LWP有它自己的进程标识符,并和其他进程有着父子关系;这是和类Unix操作系统的系统调用vfork()生成的进程一样的。LWP由内核管理并像普通进程一样被调度。Linux内核是支持LWP的典型例子。
2015-04-27 15:08:41 1594
转载 Linux写时拷贝技术(copy-on-write)
COW技术初窥: 在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制“技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。 那么子进程的物理空间没有代码,怎么去取指令执行exec系统调用呢? 在fork之后exec之
2015-04-27 13:48:36 506
转载 Linux 线程实现机制分析
自从多线程编程的概念出现在 Linux 中以来,Linux 多线应用的发展总是与两个问题脱不开干系:兼容性、效率。本文从线程模型入手,通过分析目前 Linux 平台上最流行的 LinuxThreads 线程库的实现及其不足,描述了 Linux 社区是如何看待和解决兼容性和效率这两个问题的。3 评论:杨沙洲 (pubb@163.net)国防科技大学计算机学院2003
2015-04-27 10:57:59 2354
转载 centos sudo日志文件的创建与跟踪
1、首先,创建一个日志文件sudo.logtouch /var/log/sudo.log2、在/etc/sudoers配置文件最后添加:Defaults logfile=/var/log/sudo.logDefaults loglinelen=0Defaults !syslog3、重启syslog服务:systemctl restart rsyslo
2015-04-30 15:14:35 1735
原创 关于logAnalyzer
目前看到:(1)logAnalyzer可以记录每个用户的操作,但是不显示成功还是失败(2)logAnalyzer不会对/var/log/audit中的信息显示,auditd这个模块应该是一个单独的模块;
2015-04-29 11:28:08 485
转载 Install Rsyslog and LogAnalyzer on Centos 6
Rsyslog and LogAnalyzerare tools that help administrators to collect the systems log in a centralized place and facilitates the data analysis.In large networks the number of devices installed pr
2015-04-28 22:26:30 2107
转载 RHEL 6.x 搭建rsyslog日志服务器和loganalyzer 日志分析工具
RHEL 6.x 搭建rsyslog日志服务器和loganalyzer日志分析工具===============================================rsyslog的介绍logrotate日志滚动的介绍rsyslog的存储途径基于web的loganalyzer日志分析工具的搭建=======================
2015-04-28 22:12:43 2262
转载 CentOS 6.4 yum安装chrome(http://www.centoscn.com/image-text/install/2013/0729/753.html)
(http://www.centoscn.com/image-text/install/2013/0729/753.html)CentOS 6.4安装chrome浏览器vim /etc/yum.repos.d/CentOS-Base.repo根据你的系统增加一个节点32-bit[google]name=Google - i386baseurl=http://
2015-04-28 22:08:44 572
转载 yum命令指南-yum使用方法
yum命令指南-yum使用方法yum check-update 检查可更新的所有软件包 yum update 下载更新系统已安装的所有软件包 yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级 yum install 安装新软件包 yum update 更新指定的软件包 yum
2015-04-28 18:37:27 998
转载 Linux内核模块编程
一个项目要做基于Linux的设备驱动开发,其实就是做Ophone的移植工作。刚找了本Linux设备驱动来学习学习。首先就是学习Linux的模块编程,照着书上的例子实现Hello.ko也经历一番波折,凡事只有自己亲自尝试过,才知道个中细节如何啊。以下记录我完成这个简单模块的编写,加载,卸载的全过程及要注意的地方。在任意一个地方创建一个hello.c文件,里面就写如下内容:/* h
2015-04-28 10:55:42 392
转载 Ubuntu+下构建内核源码树_图文教程
ubuntusubversionlinuxsearchcvsshellUbuntu下构建内核源码树 网上好多文章,他大爷的都是转来转去,每一篇中用的。索性还是自己整理一篇吧。 网上牛人多,但是小白问题更多,更何况咱们这号不入门的,因为最近学内核,要写模块,模块要在源码树下编译安装,又习惯了Ubuntu的OS,不忍转向他方,还是好好摆置摆置它吧,找的几
2015-04-28 10:49:58 2102 1
转载 linux下fork()函数的实现
Linux通过clone()系统调用实现fork()。这个调用通过一系列的参数标志来指明父,子进程需要共享的资源。fork(),vfork()和__clone()库函数都根据各自需要的参数标志去调用clone().然后由clone()去调用do_fork(). do_frok完成了创建中的大部分工作,它的定义在ker/frok.c文件中。该函数调用copy_process()的函数,然后
2015-04-27 17:14:03 688
转载 关于Linux的进程和线程
什么是进程直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源,所以我们也说,进程是资源分配的最小单位。什么是线程线程存在与进程当中,是操作系统调度执行的最小单位。说通俗点,线程就是干活的。进程和线程的区别
2015-04-27 16:49:20 387
转载 Linux内核策略介绍学习笔记
Linux内核策略介绍学习笔记阅读目录内核的运行时间进程和线程的区别进程调度工具主要内容硬件策略CPU进程调度、系统调用、中断内存内存管理外存文件IO网络协议栈其他时间管理进程
2015-04-27 16:41:49 946
转载 内核线程、轻量级进程、用户线程
在现代操作系统中,进程支持多线程。进程是资源管理的最小单元;而线程是程序执行的最小单元。一个进程的组成实体可以分为两大部分:线程集合资源集。进程中的线程是动态的对象;代表了进程指令的执行。资源,包括地址空间、打开的文件、用户信息等等,由进程内的线程共享。线程有自己的私有数据:程序计数器,栈空间以及寄存器。Why Thread?(传统单线程进程的缺点)1. 现实中有很多需要并发处理的任
2015-04-27 16:28:34 369
转载 Linux下获取线程TID的方法——gettid()
如何获取进程的PID(process ID)?可以使用:#include pid_t getpid(void); 通过查看头文件说明,可以得到更详细的信息:find /usr/include -name unistd.h /usr/include/asm/unistd.h /usr/include/bits/unis
2015-04-27 16:16:50 623
转载 linux多线程pthread
linux多线程threadjoinnulllibrary1.Linux线程的发展 早在LINUX2.2内核中。并不存在真正意义上的线程,当时Linux中常用的线程pthread实际上是通过进程来模拟的,也就是同过fork来创建“轻”进程,并且这种轻进程的线程也有个数的限制:最多只能有4096和此类线程同时运行。 2.4内核消除了个数上的限制,并且允许在系统运行中动
2015-04-27 16:14:13 444
转载 Linux线程 之 线程 线程组 进程 轻量级进程(LWP)
Thread Local Storage,线程本地存储,大神Ulrich Drepper有篇PDF文档是讲TLS的,我曾经努力过三次尝试搞清楚TLS的原理,均没有彻底搞清楚。这一次是第三次,我沉浸glibc的源码和kernel的源码中,做了一些实验,也有所得。对Linux的线程有了进一步的理解。 线程是有栈的,我们知道,普通的一个进程,它的栈空间是8M,我们可以通过ulmit -a查看
2015-04-27 16:08:38 443
转载 Linux 进程栈和线程栈的区别
注:本文所涉及的环境为Linux, 下文讨论的栈跟内核栈,没有任何的关系,关于内核栈,请参考《深入Linux内核架构》中的2.4.1 进程复制这里有如下几个问题,线程栈的空间是开辟在那里的? 线程栈之间可以互访吗?为什么在使用pthread_attr_setstack函数时,需要设置栈的大小,而进程task_struct的 mm_struct *mm 成员中却并没有却并没有stack_si
2015-04-27 16:03:05 551
转载 浅析Linux线程的创建
线程进程Linux创建实现目录(?)[+] 本文首先使用了接口pthread_create创建一个线程,并用strace命令追踪了接口pthread_create创建线程的步骤以及涉及到的系统调用,然后讨论了Linux中线程与进程关系,最后概述了为了实现POSIX线程,Linux内核所做的修改。 使用pthread_create创建线程
2015-04-27 15:54:01 562
转载 Linux进程、线程模型,LWP,pthread
一.定义关于进程、轻量级进程、线程、用户线程、内核线程的定义,这个很容易找到,但是看完之后你可以说你懂了,但实际上你真的明白了么?在现代操作系统中,进程支持多线程。进程是资源管理的最小单元;而线程是程序执行的最小单元。一个进程的组成实体可以分为两大部分:线程集合和资源集合。进程中的线程是动态的对象;代表了进程指令的执行。资源,包括地址空间、打开的文件、用户信息等等,由进程内的线程共享。线程
2015-04-27 15:04:13 1399
转载 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit
从 sysvinit 到 systemd近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经淡出历史舞台,新的 init 系统 UpStart 和 systemd 各有特点,而越来越多的 Linux 发行版采纳了 systemd。本文简要介绍了这三种 init 系统的使用和原理,每个 Linux 系统管理员和系统软件开发者都应该了解
2015-04-27 10:50:00 522
转载 /etc/rc.d/rc与/etc/rc.d/init.d的关系介绍
在这里先解释一下 /etc/rc.d/init.d 里面放的都是什么东西。这个目录存放的是一些脚本,一般是Linux以rpm包安装时设定的一些服务的启动/关闭脚本。系统在安装时装了好多rpm包,这里面就有很多对应的脚本。执行这些脚本可以用来启动、停止、重启这些服务前面说到,/etc/rc.d/init.d这个目录下的脚本就类似与windows中的注册表,在系统启动的时候执行
2015-04-27 10:14:16 604
原创 关于libc和glibc
libc是Linux下的ANSI C的函数库,glibc是gnu发布的libc库。(1)从(http://bbs.csdn.net/topics/390595998?page=1#post-395610878)二楼的回答:“标准库是一个标准glibc是标准库的一个实现kernel没有使用C库如果我们编写一个用户级的C程序,那么我们到底是用libc还是glibc中的库
2015-04-26 20:52:52 1235
转载 C++静态库与动态库
这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库
2015-04-26 20:49:38 347
转载 编译链接------Linux环境下c语言静态链接库和动态链接库创建和使用
库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀。面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功,静态程序库也就不再需要了。动态库而言:某个程序在运行中要调用某个动态链接库函数的时候,操作系统首先会查看所有正在运行的程序,看在内存里是否已有此库函数的拷贝了。如果有,则让
2015-04-26 20:48:24 4215
转载 linux内核设计与实现的读书笔记1 -内核开发头文件
《linux内核设计与实现》第二章15-16页:刚开始看的时候对上面所说的“内核不能链接使用标准c函数库”有些困惑,下面对其说明:首先:linux内核目录树中的include目录下的内容是内核头文件,我们看到内核源码中使用的都是这些头文件,它们不是标准c函数库的头文件,而是在内核中重新编写的c库函数;而我们在编译器环境(比如gcc)下include的是glicb库,这个是G
2015-04-26 20:29:29 485
转载 libc、glibc与gcc
转http://blog.163.com/dragon_sjl@126/blog/static/100473339201107101517380/ 1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“预处理”和“编译”,以及提供了与编译器紧密相关的运行库的支持,如libgcc_s.so、libstdc++.so等。Linux系
2015-04-26 20:00:45 986
转载 UNIX文件权限详解(尤其是SUID和SGID)
目录(?)[+]SUID - UNIX下关于文件权限的表示方法和解析SUIDUNIX下可以用ls -l 命令来看到文件权限。用ls命令所得到的表示法的格式是类似这样的:-rwxr-xr-x 。下面解析一下格式所表示的意思,这种表示方法一共有十位: 9 8 7 6 5 4 3 2 1 0 - r w x r - x r - x 第9位表示文
2015-04-25 23:12:50 3065
转载 /etc/rc.d/rc.local linux启动自动开启某些服务
linux脚本oracleweb开发工作服务器/etc/rc.d/rc.local似乎是很多linux系统管理员的偏爱,因为凡是需要随系统自动启动的服务、程序等,只要系统没有提供Sys V风格的启动脚本,就把这些需求都塞到/etc/rc.d/rc.local。当然,绝大部分情况下,你会发现这一切都工作得很正常,看上去也很美好。不过,当你遇到了一些诡异的问题的时候,也许你应该好好的去看看
2015-04-25 23:03:15 1001
转载 linux中/etc/rc.d/rc.local和/etc/rc.local这两个文件有什么区别
一样的,只不过是为了版本兼容的问题(由于很多不同的linux发行版使用的文件架构并不相同,故采用链接文件的方式制造了一个副本),建造的一个连接文件,用来对原始文件进行副本操作,你修改其中一个,另外的一个也会发生变化,不信你可以试试。来源:http://zhidao.baidu.com/link?url=bIA38Slp-g2Bob4VDuTSVSSKLtl99cuiMrl4km
2015-04-25 23:01:47 4178
转载 Linux 中 rc.local、init.d、rc.x、init 这几个文件(夹)各有什么作用?启动执行的脚本应该均放在 rc.local 中吗?
这个问题涉及到Linux初始化init系统,RHEL 5为SysVinit,RHEL 6为Upstart,RHEL 7为Systemd,为更好地解释这个问题,以下选取RHEL 5.x进行说明。如流程图所示,RHEL的启动过程按步骤大致可以分为:POST加电自检-->BIOS(Boot Sequence)-->加载对应引导上的MBR(bootloader) -->主引导设置加载其Boot
2015-04-25 22:59:27 1501
原创 关于systemd和sysvinit的说明
今天我在试验http://www.cnblogs.com/mchina/p/linux-centos-rsyslog-loganalyzer-mysql-log-server.html中所介绍的搭建日志数据库的方法时,博文中要求在启动Apache服务时使用# /etc/init.d/httpd start或者# chkconfig httpd on,而实际在使用它们的时候却遇到了一些问题,下面是我
2015-04-25 20:54:29 4324
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人