top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任务)的字段的排序...
分类:
系统相关 时间:
2014-05-17 13:19:51
阅读次数:
454
一.错误描述ORA-1157, "cannot identify/lock data file
%s - see DBWR trace
file"引起的原因:因为数据文件已经在被使用了从而导致数据库的后台进程不能找到相应的数据文件或者不能锁定相应的数据文件,这样数据库将禁止访问这些数据文件而其他的数...
分类:
其他好文 时间:
2014-05-17 04:42:32
阅读次数:
289
一 Linux守护进程Linux
服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户。提供这些服务的程序是由运行在后台
的守护进程来执行的。守护进程是生存期长的一种进程。它们独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。他...
分类:
Web程序 时间:
2014-05-13 18:34:13
阅读次数:
453
关于如何避免僵尸进程。其实方法很多。有很多现成的解决方案。这里给出一个简单的方案。以及背后思考的过程。设想一种最简单的http服务器:伪代码:当接收到一个tcp请求的时候.fork
一个子进程去做工作。主进程依旧在监听下面要来的请求。这个模型实际上会导致。因为fork出来的子进程没有回收,并且父进程...
分类:
其他好文 时间:
2014-05-13 17:17:18
阅读次数:
339
0.等待队列
在Linux内核中等待队列有很多用途,可用于中断处理、进程同步及定时。我们在这里只说,进程经常必须等待某些事件的发生。等待队列实现了在事件上的条件等待: 希望等待特定事件的进程把自己放进合适的等待队列,并放弃控制全。因此,等待队列表示一组睡眠的进程,当某一条件为真时,由内核唤醒它们。
等待队列由循环链表实现,由等待队列头(wait_queue_head_t)和等待队列...
分类:
其他好文 时间:
2014-05-13 16:03:28
阅读次数:
370
绿色代表进程(进程的性质)橙色代表文件(文件的性质)。当进程试图打开文件时,内核会进行如下权限测试:
0. 若进程的有效用户ID是0(超级用户),则允许访问。
1. 若进程的有效用户ID等于文件的所有者ID,那么进行文件所有者访问权限的测试(与open的参数对比),对应图中的1。
2. 若进程的有效组ID或进程的附加组ID之一等于文件的组ID,则进行文件所属组的权限测试,对应图中...
分类:
系统相关 时间:
2014-05-13 14:26:58
阅读次数:
354
1 引言
线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。
为什么有了进程的概念后,还要再引入线程呢?使用...
分类:
编程语言 时间:
2014-05-13 14:02:28
阅读次数:
467
内核抢占
即当进程位于内核空间时,有一个更高优先级的任务出现时,如果当前内核允许抢占,则可以将当前任务挂起,执行优先级更高的进程。抢占内核的主要特点是:一个在内核态运行的进程,可能在执行内核函数期间被另外一个进程取代。
举例说明抢占内核和非抢占内核的区别:
在进程A执行异常处理程序时(肯定是内核态),一个具有较高优先级的进程B变为可执行状态。如果内核是抢占的,就会发生强制性进程切换,让进程B...
分类:
其他好文 时间:
2014-05-13 14:00:24
阅读次数:
410
开发人员奋斗了很多个夜晚,终于把版本提交测试了。他们可以松一口气了。但是噩耗很快传来,软件没有通过测试团队的预测试(为了保证测试进程,对开发人员提交的代码进行基本功能或业务流程的验证)。开发经理老王,迅速找到负责预测试的测试经理老张。
老王说:老张啊,怎么回事?出什么问题了?我们好不容易开发完成了,你们怎么不测试还把版本打回来了?
老张说:你们提交的版本质量太差,没有我们的预测试,需要重新修改...
分类:
其他好文 时间:
2014-05-13 13:25:29
阅读次数:
416
在Win7操作系统下,如果是以Administrator登陆,则VC6.0打开工程文件的时候,不能同时打开多个工程文件,后打开的工程会将前一个工程close掉,这样,VC6.0只能出现一个进程。在xp下,我们可以设置文件打开的默认方式中去掉DDE选项,这样可以使得VC6可以同时打开多个工程,但在wi...
分类:
编程语言 时间:
2014-05-13 10:32:00
阅读次数:
230