linux
文章平均质量分 69
fox1987
这个作者很懒,什么都没留下…
展开
-
linux 磁盘uuid获取
ls -l /dev/disk/by-uuid/总用量 0lrwxrwxrwx 1 root root 10 2012-08-15 09:28 0af9bc87-c3c9-49eb-829e-caf572298cc7 -> http://www.cnblogs.com/sdb1lrwxrwxrwx 1 root root 10 2012-08-15 09:27 3e8b5c85-3f5b-4864原创 2013-08-08 08:30:02 · 1915 阅读 · 0 评论 -
关于条件变量的讨论
先记录下 稍后完善https://gist.github.com/chenshuo/6430925 : 8种写法http://www.cppblog.com/Solstice/archive/2013/09/09/203094.html : 用条件变量实现事件等待器的正确与错误做法http://blog.csdn.net/vodomine/article/details/69215原创 2014-01-16 12:11:38 · 775 阅读 · 0 评论 -
使用linux的mail命令发送html格式的邮件
今天在shell中使用mail命令发送邮件,希望发送表格,就用了html的格式来发送。但是开始的时候发现Outlook收到的显示为html的源码,就查阅了下相关资料,问题解决了,记录下,以备以后再用:以下内容转载自:http://blog.csdn.net/chengfei112233/article/details/7288054linux使用mail函数发送转载 2014-01-05 20:18:28 · 18238 阅读 · 1 评论 -
strace命令用法详解
转载自:http://www.cnblogs.com/xuxm2007/archive/2012/05/31/2528678.htmlstrace命令用法详解Linux利器 stracestrace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至转载 2013-12-09 13:53:31 · 1099 阅读 · 0 评论 -
pthread_key_setspecific和pthread_key_getspecific 用法
#include pthread.h>void *pthread_getspecific(pthread_key_t key);int pthread_setspecific(pthread_key_t key, const void *value);设置线程共享数据的函数。在线程中调用英文说明如下:pthread_setspecific 将数据绑定原创 2013-10-22 17:48:05 · 1030 阅读 · 0 评论 -
unix/linux下线程私有数据实现原理及使用方法
转载自:http://blog.csdn.net/caigen1988/article/details/7901248复习以前做过的爬虫系统,在做防止死链时用到了线程的私有数据,那时候仅仅是会用,至于底层是怎么实现的以及为什么一个键可以对应不同线程的指还一知半解,今天又详细的看了下相关的资料,以做总结。 在维护每个线程的私有数据的时候,我们可能会想到分配一个保存线程数据的转载 2013-10-23 15:29:45 · 941 阅读 · 0 评论 -
linux 下的多线程编程
Linux 下POSIX线程 使用threadid标识一个线程。创建线程的函数如下: 1: #include 2: 3: int pthread_create( 4: pthread_t *restrict tidp, 5: const pthread_attr_t *restrict attr,原创 2013-08-29 09:31:01 · 703 阅读 · 0 评论 -
IO复用: select 和poll 到epoll
linux 提供了select、poll和epoll三种接口来实现多路IO复用。下面总结下这三种接口。select该函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或经历一段指定的时间后才唤醒它。函数接口: 1: #include 2: #include 3: 4: int select(int maxfdp1原创 2013-09-10 18:30:05 · 969 阅读 · 0 评论 -
[转载]Latency Numbers Every Programmer Should Know
http://yaronspace.cn/blog/archives/1528Latency Comparison Numbers--------------------------L1 cache reference 0.5 nsBranch mispredict 5 n原创 2013-08-08 08:30:45 · 1493 阅读 · 0 评论 -
linux 的nohup & 和daemon 总结
今天和同事聊起了这个问题,就查阅了一下相关资料,总计如下 nohupnohup 用途:不挂断的运行命令语法 : nohup command [arg] &描述: 运行命令,忽略所有SIGHUP信号。 输出到当前目录的nohup.out文件中,如果当前目录不可写,就重定向到$HOME/nohup.out中 一般是要和&配合使用。&用户: 将一个程原创 2014-03-05 10:19:31 · 17037 阅读 · 2 评论 -
linux的waitpid 和wait 以及fg 和bg命令
接上篇:linux 的nohup & 和daemon 总结, 这里总结下waitpid和bg 和fg命令waitpid函数说明:#includesys/types.h>#include定义函数 pid_twaitpid(pid_t pid,int * status,int options);其他数值意义如下:pid等待进程组识别码为 pid 绝对值的任何子进程。原创 2014-03-08 11:43:40 · 1889 阅读 · 0 评论 -
linux 的fork 和 vfork
fork fork 是linux下创建新进程的函数。 函数原型:pid_t fork( void); (pid_t 是一个宏定义,其实质是int 被定义在#includesys/types.h>中) 返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程I原创 2015-06-10 23:50:43 · 649 阅读 · 0 评论 -
徐汉彬:高并发Web服务的演变——节约系统内存和CPU
转载自:http://www.csdn.net/article/2015-02-12/2823952?reload=1一、越来越多的并发连接数现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战。以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置。虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发转载 2015-02-25 13:04:45 · 887 阅读 · 0 评论 -
bashrc和barh_profile 区别与联系
看大家配置一些alias时,有些配置到bashrc文件中,有些配置到bash_profile文件中。这两个有什么区别呢? 查阅记录如下/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.英文描述为: # /etc/profile# Sy原创 2014-10-15 14:59:57 · 801 阅读 · 0 评论 -
linux 下无密码文件传输
有时候需要跨机器文件传输。又想自动化。这时候输入密码就是一个很头疼的问题。就xia原创 2014-10-31 10:23:20 · 1111 阅读 · 0 评论 -
孤儿进程与僵尸进程[总结]
孤儿进程与僵尸进程[总结]1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直对这两个概念比较模糊。今天被人问到什么是孤儿进程和僵尸进程,会带来什么问题,怎么解决,我只停留在概念上面,没有深入,倍感惭愧。晚上回来google了一下,再次参考APUE,认真总结一下,加深理解。2、基本概念 我们知道在unix/linux中,正常情况转载 2014-10-09 16:41:26 · 607 阅读 · 0 评论 -
库函数调用和系统调用的区别
函数库调用 VS 系统调用 函数库调用系统调用在所有的ANSI C编译器版本中,C库函数是相同的各个操作系统的系统调用是不同的它调用函数库中的一段程序(或函数)它调用系统内核的服务与用户程序相联系是操作系统的一个入口点在用户地址空间执行转载 2014-10-23 10:19:47 · 632 阅读 · 0 评论 -
fork和vfork的区别
参见百度百科API说明:fork头文件:#include#include函数原型:pid_t fork( void);(pid_t 是一个宏定义,其实质是int 被定义在#includesys/types.h>中)返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1函数说明:一个现有进程可以调用fork函数创建一个新进原创 2013-09-08 08:33:48 · 1652 阅读 · 0 评论 -
posix多线程有感--自旋锁
转载自:http://www.csdn123.com/html/blogs/20130509/11141.htm自旋锁是SMP架构中的一种low-level的同步机制。 当线程A想要获取一把自旋锁而该锁又被其它线程锁持有时,线程A会在一个循环中自旋以检测锁是不是已经可用了。对于自选锁需要注意:由于自旋时不释放CPU,因而持有自旋锁的线程应该尽快释放自旋锁,否则等待该自旋锁的转载 2014-08-20 19:42:08 · 716 阅读 · 0 评论 -
Ubuntu 使用代理上网
在 ~/.bashrc 或者 /etc/bash.bashrc 里添加如下语句则有代理,取消之,则无。export http_proxy=http://username:passwd@proxyip:portexport ftp_proxy=http://username:passwd@proxyip:port原创 2013-08-08 08:29:54 · 1201 阅读 · 0 评论 -
【转载】Linux中关于Cache Memory的介绍
源自:http://yaronspace.cn/blog/archives/1525最近在做性能优化时,遇到一个问题,系统中进程占用的内存没有那么多,但是通过TOP看到系统对实际物理内存接近满额,十分纳闷,后来问了同事才知道原来是Cache Memory占用了大量内存,上网查阅了相关资料,整理记录下。什么是Cache Memory当进程对磁盘中的文件大量读写时,Linux内核为了提原创 2013-08-08 08:29:38 · 817 阅读 · 0 评论 -
[转载] Linux性能测试 sar命令
sar命令包含在sysstat工具包中,提供系统的众多统计数据。其在不同的系统上命令有些差异 sar 命令行的常用格式: 1: [root@C44 ~]# sar 2: sysstat version 5.1.5 3: (C) Sebastien Godard 4: Usage: sar [ op原创 2013-08-08 08:31:03 · 724 阅读 · 0 评论 -
[转载] Linux性能测试 strace命令
1 功能说明 strace 命令是一种强大的工具 , 能够显示任何由用户空间程式发出的系统调用 . strace 显示这些调用的参数并返回符号形式的值 . strace 从内核接收信息 , 而且无需以任何特别的方式来构建内核 . strace 的每一行输出包括系统调用名称, 然后是参数和返回值. 下面记录几个常用option : -f -F选项告诉strace同时跟原创 2013-08-08 08:31:01 · 678 阅读 · 0 评论 -
[转载]Linux性能测试 mpstat命令
mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。 下面只介绍mpstat与CPU相关的参数,mpstat的语法如下: Usage: mpstat [ options... ] [ [ ]原创 2013-08-08 08:30:58 · 651 阅读 · 0 评论 -
[转载]Linux性能测试 top衍生命令 atop/htop/slaptop
1. Atop Atop 是一个类似 top 的工具,但比 top 更有料。通过 Atop,你能够监视 Linux 系统的性能状况,包括进程活动、CPU、内存、硬盘、网络等方面的使用情况等。 2. htop htop——一个可以让用户与之交互的进程查看器。作为文本模式的应用程序,主要用于控制台或 X 终端中。当前具有按树状方式来查看进程,支持颜色主题,可以定制等特性。 与 top 相比原创 2013-08-08 08:30:56 · 896 阅读 · 0 评论 -
[转载]Linux性能测试 ss命令
ss即socket state,也就是说,是可以查看系统中socket的状态的。我们可以用netstat,但为什么还要用ss这个工具呢,当然ss也是有好处的。当我们打开的socket数量很多时,netstat就会变得慢了。 我们先来看看ss的使用格式: 1: [root@redhat ~]# ss ? 2: ss: bison bellows (while parsing filte原创 2013-08-08 08:30:54 · 847 阅读 · 0 评论 -
dmesg 时间转换
dmesg 输出的格式不易查看,可以通过命令进行转换。 记录如下: 时间查看: date -d "1970-01-01 UTC `echo "$(date +%s)-$(cat /proc/uptime|cut -f 1 -d' ')+12288812.926194"|bc ` seconds"原创 2013-08-08 08:30:36 · 4058 阅读 · 0 评论 -
[转载]如何在vi中保存更改过的只读文件
http://blog.sina.com.cn/s/blog_6a031c3701013gaj.html 是否会和我一样经常碰到这样的情景:在VIM中编辑了一个系统配置文件,当需要保存时才发现当前的用户对该文件没有写入的权限。 如果已经做了很多修改,放弃保存的确很懊恼,只好先保存在用户的主目录下,再用sudo mv移动到文件的原始位置,并按需要chown。 这样做实在太麻烦了,以下的这个技巧原创 2013-08-08 08:30:34 · 896 阅读 · 0 评论 -
split 使用
split是用来切分文本文件很好用的一个命令linux下通过split --help 可以查看到split的用法split --help用法:split [选项]... [输入 [前缀]]将输入内容拆分为固定大小的分片并输出到"前缀aa"、"前缀ab",...;默认以 1000 行为拆分单位,默认前缀为"x"。如果不指定文件,或者文件为"-",则从标准输入读取数据。长选项必须使用的参数原创 2013-08-08 08:30:13 · 773 阅读 · 0 评论 -
[转载]Linux性能测试 vmstat命令
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。 NAME原创 2013-08-08 08:31:05 · 735 阅读 · 0 评论 -
[转载]Linux性能测试 iostat命令
Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令 来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。 iostat 由 Red Hat Enterprise Linux AS 发布。同时 iostat 也是 Sysstat 的一部分,可以下载到,网址是http://perso.wanadoo.fr/sebastien.god原创 2013-08-08 08:31:07 · 705 阅读 · 0 评论 -
linux 文件大小ll和du不一致问题
今天出现了程序的日志文件占用的磁盘空间大小通过ll和du 来查看大小不一致。 通过ll –h 来看占用的空间比du –sh 打了很多,磁盘被占满了。 查了些资料发现是文件空洞的问题. 后来同事提醒,日志文件保存时候使用> 将其保存,对文件进行清除和日志切割(logrotate)时,容易出现文件空洞。 需要使用“>>” 可以避免该问题。修改后问题确实解决了。 在此Mark一下。 refe原创 2013-08-08 08:31:46 · 6680 阅读 · 0 评论 -
iptables规则的查看、添加、删除和修改
http://ns.35.com/?p=211 1、查看 iptables -nvL –line-number -L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数 -n 不对ip地址进行反查,加上这个参数显示速度会快很多 -v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口 –line-number原创 2013-08-08 08:31:30 · 770 阅读 · 0 评论 -
ubuntu apt-get /usr/bin/dpkg returned an error code 的解决办法
终端输入 cd /var/lib/dpkg sudo mv info{,.bak} sudo mkdir info sudo dpkg --configure -a sudo apt-get install -f 然后执行sudo apt-get update 再进行相关的install 即可原创 2013-08-08 08:31:21 · 979 阅读 · 0 评论 -
[转载]Linux性能测试 netstat命令
功能说明:Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 语 法:netstat [-acCeFghilMnNoprstuvVwx][-A][--ip] 补充说明:利用netstat指令可让你得知整个Linux系统的网络情况。 参 数: -a或–all 显示所有连线中的Socket。 -A或–原创 2013-08-08 08:31:19 · 715 阅读 · 0 评论 -
linux 性能分析工具整理
工作中常常需要对系统性能进行分析,整理常用的工具如下: Linux性能测试 top命令 Linux性能测试 top衍生命令 atop/htop/slaptop Linux性能测试 uptime命令 Linux性能测试 iostat命令 Linux性能测试 vmstat命令 Linux性能测试 sar命令 Linux性能测试 strace命令 Linux性能测试 mpstat命令原创 2013-08-08 08:31:16 · 863 阅读 · 0 评论 -
[转载]Linux性能测试 tcpdump命令
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例 默认启动 tcpdump普通情况下,直接原创 2013-08-08 08:31:14 · 618 阅读 · 0 评论 -
[转载]Linux性能测试 top命令
原文地址:http://www.cnblogs.com/txw1958/archive/2012/07/25/linux-top-command.htmltop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 top可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况 语法:top [-s time] [-d原创 2013-08-08 08:31:12 · 740 阅读 · 0 评论 -
[转载]Linux性能测试 uptime命令
uptime 命令用于查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况。 以下是 uptime 的运行实例: 11:07:03 up 2 days, 25 min, 3 users, load average: 0.53, 0.31, 0.25当前时间 11:07:03 系统已运行的时间 2 days, 25 min 当前在线用户原创 2013-08-08 08:31:10 · 739 阅读 · 0 评论 -
tcpdump命令详解
TCPdump抓包命令 tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执转载 2015-07-13 13:43:46 · 836 阅读 · 0 评论