
linux
颜学伦
这个作者很懒,什么都没留下…
展开
-
linux性能分析工具之gprof
1 简介GNU profiler(gprof)是GNU profiler工具。它可以为Linux平台上的程序精确分析性能瓶颈,它能够记录每个函数的调用次数,每个函数消耗的处理器时间,还能够显示“调用图”,包括函数的调用关系,能够为我们改进应用程序的性能提供很多有利的帮助。2 原理通过在编译和链接程序的时候使用-pg选项(编译和链接过程都需要),当我们使用"-pg"选项编译程序后,g转载 2013-03-28 22:30:33 · 879 阅读 · 0 评论 -
linux之lsof
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打转载 2013-04-17 21:20:07 · 376 阅读 · 0 评论 -
linux之vmstat
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。一般vmstat转载 2013-04-17 21:26:07 · 371 阅读 · 0 评论 -
linux之限制IP登录SSH服务
方法一:编辑/etc/hosts.allow与/etc/hosts.deny文件vi /etc/hosts.allow sshd:192.168.100.100:allow // 允许IP 192.168.100.100 登录sshd:192.168.101.*:allow // 允许IP 192.168.101. 网段登录 vi原创 2013-04-18 23:25:16 · 1780 阅读 · 0 评论 -
linux系统调用
在Linux中,系统调用是用户空间访问内核的唯一手段,它们是内核唯一的合法入口。 一般情况下,应用程序通过应用编程接口(API)而不是直接通过系统调用来编程,而且这种编程接口实际上并不需要和内核提供的系统调用对应。一个API定义了一组应用程序使用的编程接口。它们可以实现成一个系统调用,也可以通过调用多个系统调用来实现,即使不使用任何系统调用也不存在问题。实际上,API可以在各种不同转载 2013-09-29 20:21:50 · 321 阅读 · 0 评论 -
linux下的环境变量
1、设置环境变量的三种方法(1)、export---------临时设置,也就是对当前会话生效eg:export LANG=en_US(2)、写.bash_profile文件(.bash_profile的位置一般在$HOME目录下)------对当前用户设置有效vi .bash_profile要立即生效,请使用 source .bash_porfile (3)、写/etc/原创 2013-09-30 21:40:39 · 380 阅读 · 0 评论 -
10月能力提升计划之进程间通信
当前个人对进程间通信的理解大概是一种什么一个概念?1、进程间通信的方式:管道(无名和有名管道),消息队列,共享内存,网络通信,信号量。2、各种通信方式的基本概念,停留在理论上的一个理解。通过一个月的能力提升,期望达到的“境界”:1、对各种进程间通信方式加强实践的操作,通过编写最基本代码来理解和巩固基本概念。2、对各种进程间通信方式进行对比。3、知识的学习还在于应用,创建属于原创 2013-10-01 19:47:36 · 399 阅读 · 0 评论 -
svn常用命令
// 转载地址:http://blog.youkuaiyun.com/ithomer/article/details/6187464 SVN(Subversion)是一个自由、开源的项目源代码版本控制工具。目前,绝大多数开源软件和企业代码管理,都使用SVN作为代码版本管理软件。Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器。不同的是,它可以记录每一次文件和目录的修转载 2013-09-30 21:45:16 · 840 阅读 · 0 评论 -
linux下删除文件之后,磁盘空间仍然没有释放
在LINUX下,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。原创 2013-10-26 17:45:42 · 827 阅读 · 0 评论 -
system v--消息队列
消息队列相关操作涉及到的几个主要函数1、创建消息队列int msgget( key_t key, int msgflg);参数key:是一个键值,由ftok获得. key_t ftok(const char *pathname, int proj_id);参数msgflg:标志位,可以是IPC_CREAT、IPC_EXCL、IPC_NOWAIT的组合函数返回:返回与键值key对原创 2013-10-21 22:11:05 · 466 阅读 · 0 评论 -
GCC常用命令
1简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compil转载 2013-04-17 21:00:54 · 295 阅读 · 0 评论 -
linux之samba服务器搭建
1 检测samba软件是否已经安装rpm -qa | grep smb 2 若没有安装,则进行安装操作rpm -ivh samba*.rpm 3 对samba服务进行配置--共享型(1) 打卡smb.confvi /etc/samba/smb.conf(2) 在配置文件的最后添加如下配置:[sambashare1] comment = samba sha原创 2013-04-15 21:02:35 · 742 阅读 · 0 评论 -
一个经典的iptables的shell脚本
#!/bin/sh#modprobe ipt_MASQUERADEmodprobe ip_conntrack_ftpmodprobe ip_nat_ftpiptables -Fiptables -t nat -Fiptables -Xiptables -t nat -X###########################INPUT链##############转载 2013-04-12 20:43:04 · 430 阅读 · 0 评论 -
coredump详解
一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆转载 2013-03-17 21:17:37 · 599 阅读 · 0 评论 -
gdb调试
一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:info thread 查看当前进程的线程。 thread 切换调试的线程为指定ID的线程。 break file.c:100 thread all 在file.c文件第100行处为所有经过这里的线程设置断点。 set scheduler-locking off|on|step,这个是问得最多的。在使用step或转载 2013-03-18 21:18:53 · 269 阅读 · 0 评论 -
常用LINUX性能分析命令
1 top2 vmstat3 iostat4 free5 uptime6 netstat7 lsof8 mpstat9 strace10 tcpdump原创 2013-04-02 19:56:16 · 372 阅读 · 0 评论 -
linux之crontab
一. Crontab 介绍 crontab命令的功能是在一定的时间间隔调度一些命令的执行。 1.1 /etc/crontab 文件 在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 如:[root@dave ~]# cat /etc/crontabSH转载 2013-04-07 19:52:48 · 316 阅读 · 0 评论 -
linux之awk
一. AWK 说明 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。 awk的处理文本和数据的方式:它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模转载 2013-04-07 20:04:24 · 275 阅读 · 0 评论 -
linux下的5个查找命令
1. findfind是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。find的使用格式如下: $ find 指定目录> 指定条件> 指定动作> - 指定目录>:所要搜索的目录及其所有子目录。默认为当前目录。 - 指定条件>:所要搜索的文件的特征。 - 指定动作>:对搜索结果进行特定的处理。如果什么参数也不加,find默认搜索当前目录及其子目录,转载 2013-03-26 20:20:49 · 392 阅读 · 0 评论 -
unix之I/O模型
五种IO Model: (1) blocking IO (2) nonblocking IO (3) IO multiplexing (4) signal driven IO (5) asynchronous IO由于signal driven IO在实际中并不常用,所以此处只提及剩下的四种IO Model。首先说一下IO发生时涉及的对象和步骤。转载 2013-03-25 22:21:16 · 361 阅读 · 0 评论 -
linux之strace命令
简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strace ca转载 2013-03-27 19:36:06 · 318 阅读 · 0 评论 -
linux之ftp限制用户访问路径
目的:不让新创建的ftp用户具有向父目录切换的功能。 实现步骤:1 创建一个ftp用户(1) 创建用户,并指定目录:useradd -d /home/yxl/ftptest ftpuser1(2) 创建密码:passwd ftpuser1 2 用第一步创建的ftp用户进行登录,发现该用户可以访问ftptest目录的父目录,这是我们不希望,因此需要限制ftpuser1用户原创 2013-04-10 21:48:29 · 1398 阅读 · 0 评论 -
linux内核中两个常见宏定义
1、获取一个结构成员的偏移#define offset(type,mem) ((size_t) &((type*)0)->mem) 2、通过一个结构成员获取结构的首地址#define container_of( ptr, type, mem ) \({ const typeof(((type*)0)->mem) *_mptr = (ptr);\(type*)((char*原创 2013-10-21 22:17:09 · 519 阅读 · 0 评论