![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 95
wu936754331
好人一个
展开
-
Linux strace命令
简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strac转载 2015-10-18 21:07:16 · 267 阅读 · 0 评论 -
宏定义:得到一个field在结构体(struct type)中的偏移量
//OFFSETOF(s, m)的宏定义,s是结构类型,m是s的成员,求m在s中的偏移量。#define OFFSET(s, m) ((size_t) &((s *)0)->m)转自:http://hi.baidu.com/tian_20032242/blog/item/77fd7afa5ffcc29d59ee90ba.html#define OFFSETOF(转载 2015-11-12 15:11:08 · 1085 阅读 · 0 评论 -
网络后台开发面试题
1.C++模板的作用。 将算法与具体对象分离,与类型无关,通用,节省精力2.socket编程,如果client断电了,服务器如何快速知道???有以下几个技术:使用定时器(适合有数据流动的情况); 使用socket选项SO_KEEPALIVE(适合没有数据流动的情况); 3.fork()一子进程程后 父进程癿全局变量能不能使用转载 2015-11-12 15:24:09 · 755 阅读 · 0 评论 -
推荐一个学习linux 命令比较好多方式
原文地址:http://www.cnblogs.com/peida/tag/%E6%AF%8F%E6%97%A5%E4%B8%80linux%E5%91%BD%E4%BB%A4/default.html?page=1注:像这位仁兄一样每天一个命令工具的学习总结,对自己的进步应该很有帮助!原创 2015-10-27 11:14:23 · 341 阅读 · 0 评论 -
Linux下编译、链接和装载
编译过程在Linux下使用GCC将源码编译成可执行文件的过程可以分解为4个步骤,分别是预处理(Prepressing)、编译(Compilation)、汇编(Assembly)和链接(Linking)。一个简单的hello word程序编译过程如下:1. 预处理首先源代码文件(.c/.cpp)和相关头文件(.h/.hpp)被预处理器cpp预编译成.i文件(C++为.转载 2015-11-12 14:22:29 · 387 阅读 · 0 评论 -
Linux性能工具
感觉这个框架比较好,后面再按照这个思路详细的收集一下每个工具的用法分析工具初级工具列表基本攻击分布图中级工具列表高级工具列表原创 2015-10-27 11:12:47 · 372 阅读 · 0 评论 -
linux性能分析工具总结(初级工具篇)
1.uptimeuptime命令是用来查询linux系统负载的!用法:直接输入uptime即可.另外还有一个参数 -V(大写),是用来查询版本的procps是一个实用程序包,主要包括ps top kill等程序主要用来显示与控制一些系统信息,进程状态之类的内容。以下显示输入uptime的信息:04:03:58 up 10 days, 13:19, 1原创 2015-10-27 09:43:38 · 4027 阅读 · 0 评论 -
free -M解读
如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看.$ free -mtotal used free shared buffers cachedMem: 1002 769 232 0 62 421-/+ buffers/cache: 286 715Swap: 1153 0 1153第一部分Mem行:total 内存总数: 1002M转载 2015-10-15 09:27:01 · 1114 阅读 · 0 评论 -
Linux进程间通信--信号,管道,消息队列,信号量,共享内存,socket
linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的进程间转载 2015-11-18 11:32:59 · 1835 阅读 · 0 评论 -
linux常用的内核参数的设置
1.共享内存大小的设置临时设置:通过修改/proc/sys/kernel/shmmax参数可以达到此目的。 [root@neirong root]# echo 1073741824 > /proc/sys/kernel/shmmax [root@neirong root]# more /proc/sys/kernel/shmmax 1073741824这里设为1G。原创 2015-11-18 14:29:24 · 566 阅读 · 0 评论 -
Linux服务器性能测试工具介绍
前言作为服务器开发人员,对性能应该非常的敏感,在服务器设计和编码时就应该充分考虑到性能问题,但如果写出来的程序,或者已经存在的程序在运行中出现了性能问题,我们又如何下手去找出问题并解决呢?这不仅靠的是经验,还需要借助一些工具来辅助分析。本文将以一个实例为样本,介绍几款linux下常用的性能分析工具的使用以及各自的优缺点,请注意如无特别说明,本文出现的环境均为linux环境。Linux下转载 2015-10-23 14:08:57 · 3968 阅读 · 0 评论 -
Linux内存调试工具—Valgrind
一 valgrind是什么?Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构转载 2015-10-23 14:20:42 · 662 阅读 · 0 评论 -
Linux vmstat命令实战详解
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。一般vmst转载 2015-10-18 21:04:27 · 279 阅读 · 0 评论 -
Linux流量监控工具
类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。一、iftop是什么?iftop是类似于top的实时流量监控工具。官方网站:http://www.ex-parrot.com/~pdw/iftop/二、iftop有什么用?转载 2015-10-18 21:10:34 · 630 阅读 · 0 评论 -
tcpdump常用命令
按照2G一个报文存储网卡流量命令如下:tcpdump -i eth0 -s 0 tcp port 80 -w test.pcap -C 2000合并数据包命令如下:mergecap.exe -a D:/*.pcap -w d:/test.pcap tcpdump 命令详解:名称 (NAME)tcpdump - 转储网络上的数据流 总转载 2015-10-18 20:56:35 · 608 阅读 · 0 评论 -
学习Makefile最好的教材
http://wiki.ubuntu.org.cn/%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile原创 2015-10-21 10:07:59 · 533 阅读 · 0 评论 -
g++参数介绍
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 预处理器cpp2.将预处理后的文件不转换成汇编语言,生成文件.s 编译器egcs3.有汇编变为目标代码(机器代码)生成.o的文件 汇编器as4.连接目标代码,生成可执行程序转载 2015-10-21 10:09:27 · 359 阅读 · 0 评论 -
GCC优化选项简单说明
gcc默认提供了5级优化选项的集合:-O0:无优化(默认)-O和-O1:使用能减少目标文件大小以及执行时间并且不会使编译时间明显增加的优化.在编译大型程序的时候会显著增加编译时内存的使用.-O2: 包含-O1的优化并增加了不需要在目标文件大小和执行速度上进行折衷的优化.编译器不执行循环展开以及函数内联.此选项将增加编译时间和目标文件的执行性能.-Os:专门优化目标文转载 2015-10-21 10:06:46 · 421 阅读 · 0 评论 -
Makefile自动生成工具-----autotools的使用(详细)
相信每个学习Linux的人都知道Makefile,这是一个很有用的东西,但是编写它是比较复杂,今天介绍一个它的自动生成工具,autotools的使用。很多GNULinux的的软件都是用它生成Makefile的,包括我们非常熟悉的Linux内核源代码。 1、准备: 需要工具 autoscan aclocal autoheader转载 2015-10-21 18:09:52 · 1109 阅读 · 0 评论 -
使用VS2013+VisualGDB开发Linux程序图文教程
Linux程序开发变得越来越多,越来越多的程序、产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要。但是对于习惯了Windows下的开发,使用了VS这个宇宙第一IDE后,觉得Linux下的纯命令行开发调试,还是有些不习惯,效率有些低(大神除外)。那么能不能用VS来开发调试Linux程序呢,经过各种查找,找到了VisualGDB这个神奇的插件,通过VS转载 2015-10-21 15:37:08 · 5232 阅读 · 0 评论 -
linux后台开发常用调试工具
一、编译阶段nm 获取二进制文件包含的符号信息strings 获取二进制文件包含的字符串常量strip 去除二进制文件包含的符号readelf 显示目标文件详细信息objdump 尽可能反汇编出源代码addr2line 根转载 2015-10-23 14:35:24 · 1130 阅读 · 0 评论 -
浅谈如何提高服务器并发处理能力(来自某位大牛的博客)
目录 (一)什么是服务器并发处理能力(二)有什么方法衡量服务器并发处理能力1.吞吐率2.压力测试(三)怎么提高服务器的并发处理能力1,提高CPU并发计算能力(1)多进程&多线程(2)减少进程切换,使用线程,考虑进程绑定CPU(3)减少使用不必要的锁,考虑无锁编程(4)考虑进程优先级(5)关注系统负载(6)关注CPU使用转载 2015-11-18 15:20:44 · 16354 阅读 · 1 评论