Linux

Linux 线程库性能测试与分析

简介:NPTL成为glibc"正选"线程库后,它的性能如何受到很多人的关注。本文就针对NPTL与LinuxThreads的性能比较,以及超线程、内核可抢占等特性对线程性能的影响进行了全面评测。一、前言在Linux2.6.x内核中,调度性能的改进是其中最引人注目的一部分[1]。NPTL(NativePosixThreadLibrary)[2]使用内核的新特性重写了Linux的线程库,取代历史悠久而备受争议的LinuxThreads[3]成为glibc的首选线

系统 2019-08-29 22:23:05 1639

Linux

Linux 多线程应用中如何编写安全的信号处理函数

在开发多线程应用时,开发人员一般都会考虑线程安全,会使用pthread_mutex去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如SIGUSR1、SIGRTMIN等,信号在被处理后应用程序还将正常运行。在编写这类信号处理函数时,应用层面的开发人员却往往忽略了信号处理函数执行的上下文背景,没有考虑编写安全的信号处理函数的一些规则。本文首先介绍编写信号处理函数时需要考虑的一些规则;然后举例说明在多线程应用中如何构

系统 2019-08-29 22:23:03 1639

Linux

(原创)第一章 Introduction to the Linux Ker

一直对linux内核很感兴趣,早就想深入的学习下,由于自己目前的水平还比较菜,所以在blog中记录下学习中的心得和体会,一则自己做一个记录,同时也可以督促自己的学习进度;二来可以抛砖引玉,希望和我一样对内核有兴趣的朋友们多多指点,共同进步。[第一章]IntroductiontotheLinuxKernel主要是一些概述性的内容,主要包括:1、Unix和Linux发展的背景和历史,这部分没有什么可说的,作为常识了解吧。2、操作系统和内核概述(1)内核主要组件

系统 2019-08-29 22:05:30 1639

Linux

linux2.6.38.2进程列表显示

哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处http://blog.csdn.net/woshixingaaa/archive/2011/04/15/6324900.aspx这里使用/proc文件系统显示出进程列表。/proc文件系统是一种特殊的,由软件创建的文件系统,内核使用它向外界导出信息。/proc下的每个文件都绑定于一个内核函数,用户读取其中的文件时,该函数动态的生成文件的”内容”。现代Linux发行版中的很多工具都是通过/pr

系统 2019-08-29 21:58:12 1639

Linux

ORACLE 10G RAC for Linux AS4 安装

1。预先准备和检查工作集群中所有计算机上禁用SELinux(只适用于RHEL4U2以及更高版本),disablefollowservice:chkconfig--level2345pcmciaoffchkconfig--level2345kudzuoffchkconfig--level2345isdnoffchkconfig--level2345sendmailoffchkconfig--level2345rhnsdoffchkconfig--level2

系统 2019-08-12 01:53:36 1639

Linux

linux服务器初步印象,远程连接mysql数据库,传

1.连接服务器数据库,以Navicat连接mysql为例1.1常规新建连接,连接名,主机名或ip地址:127.0.0.1端口:3306用户名:(服务器端)root密码:(服务器端)pwd1.2SSH使用SSH通道主机名或IP地址:(服务器IP)端口:22用户名:(服务器用户名root)密码:(服务器密码)连接成功之后,像本地操作数据库一样。2.安装sshsecureshellclient_3_2_9软件3.使用SSHSecureShellClient登录,

系统 2019-08-12 01:33:21 1639

操作系统

shell脚本中的特定变量

shell脚本中特定符合变量的含义:$#传递到脚本的参数个数$*以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个$$脚本运行的当前进程PID号$!后台运行的最后一个进程的进程号$@与$*相同,但是使用时用双引号,并将各个参数加双引号返回$-显示shell使用的当前选项,与set命令功能相同$_上一个命令的最后一个参数$?显示最后命令的退出状态,0表示执行成功,其他值有问题$0脚本名称$n位置参数值,n表示位置shell脚本中的特

系统 2019-08-12 01:32:50 1639

Linux

linux下常用命令

1.查看某个正在执行程序的进程号:ps-e|grepjavagrep命令是linux下的行过滤工具,ps-e参数是显示进程号,-f参数显示命令执行的全格式2.查看某个进程打开文件数:lsof-ppid3.查看某个用户打开文件数:lsof|wc-llsof(listopenfiles)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。4.wc命令这个命令的功能也很好记

系统 2019-08-12 01:32:34 1639

Linux

Linux学习笔记27——共享内存

一共享内存共享内存是由IPC为进程创建的一个特殊的地址范围,它将出现在该进程的地址空间中。其他进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址。如果某个进程向共享内存写入了数据,所做的改动将立刻被可以访问同一段共享内存的任何其他进程看到。二相关函数#include//shmget创建共享内存intshmget(key_tkey,//为共享内存段命名size_tsize,//以字节为单位指定需要共享

系统 2019-08-12 01:32:34 1639

操作系统

UVA - 10118Free Candies(记忆化搜索)

题目:UVA-10118FreeCandies(记忆化搜索)题目大意:给你四堆糖果,每一个糖果都有颜色。每次你都仅仅能拿随意一堆最上面的糖果,放到自己的篮子里。假设有两个糖果颜色同样的话,就行将这对糖果放进自己的口袋。自己的篮子最多仅仅能装5个糖果,假设满了,游戏就结束了。问你可以得到的最多的糖果对数。解题思路:这题想了好久,好不easy把状态想对了,结果脑子发热,又偏离了方向。dp【a】【b】【c】【d】:四堆糖果如今在最上面的是哪一个。由于以下的糖果假

系统 2019-08-12 01:32:33 1639

Linux

Linux下Tomcat配置80端口以及开机自动启动

由于项目发布需要,最近做了一个JRE+Tomcat+Application的一体包。期间遇到了一些问题,暂且做下记录,以备以后查询。首先是Tomcat配置80端口,与windows中配置一样,修改$CATALINA_HOME/conf/目录下server.xml中的1改为:

系统 2019-08-12 01:32:30 1639

Linux

查看局域网内所有在线用户 linux c

/*程序可以根据需要做适当的修改使用-t最好设置成5秒到10秒左右。否则将可能检测不到下面的第一种情况。1.如果局域网内一台电脑使用了应用层防火墙比如天网之类,会connect超时。对方在线2.connectsuccess连接成功,对方在线3.connectrefused拒绝连接,对方在线4.noroute连续发送5个arp请求(没有结果)和一个dns查询后(返回nxdomain),内核产生noroute的错误。对方不在线*/#include"stdio.

系统 2019-08-12 01:32:23 1639

Linux

Linux 自检和 SystemTap

2009年12月03日现代的操作系统内核提供自检功能,即动态地检查内核以理解其行为的能力。这些行为可以反映内核问题和性能瓶颈。拥有这些信息时候,您就可以调优或修改内核以避免出现故障。本文探索一个名为SystemTap的开放源码基础设施,它为Linux®内核提供这种动态的自检。SystemTap是监控和跟踪运行中的Linux内核的操作的动态方法。这句话的关键词是动态,因为SystemTap没有使用工具构建一个特殊的内核,而是允许您在运行时动态地安装该工具。它

系统 2019-08-29 23:05:15 1638

Linux

Linux环境下Oracle的安装与配置

---随着OracleforLinux8.0.5版本的推出,Linux环境下的高端数据库应用也达到了一个新高度。但由于Oracle自身的复杂性,在Linux环境下安装涉及很多方面的因素。我们将分三个方面来讨论在LinuxRedHat6.0环境下Oracle8.0.5的安装。一、Linux核心与环境的调整----在安装Oracle之前,要对RedHat6.0的Linux内核与环境进行调整。1.在完成RedHat6.0Linux的缺省安装后,需要安装以下软件包

系统 2019-08-12 01:53:53 1638

Linux

linux下卸载oracle

1.用oracle用户登录如果要再次安装,最好先做一些备份工作。包括用户的登录脚本,数据库自动启动关闭的脚本,和Listener自动启动的脚本。要是有可能连创建数据库的脚本也保存下来2.使用SQL*PLUS停止数据库[oracle@ora920oracle]$sqlplus/nologSQL>connect/assysdbaSQL>shutdown[immediate]SQL>exit3.停止Listener[oracle@ora920oracle]$ls

系统 2019-08-12 01:53:36 1638