自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 JSON-C

//----------------------------------------------------//AUTHOR: lanyang123456//DATE: 2014-12-13//----------------------------------------------------json-c介绍与库下载请参考https://github.com/json-c/json-c/wik

2017-11-14 13:33:32 893

转载 python 装饰器

python 是一门优雅的语言,有些使用方法就像魔法一样。装饰器(decorator)就是一种化腐朽性为神奇的技巧。最近一直都在使用 Tornado 框架,一直还是念念不忘 Flask 。Flask 是我最喜欢的 Python 框架,最早被它吸引也是源自它使用装饰器这个语法糖(Syntactic sugar)来做 Router,让代码看上去就感觉甜甜的。Tornado 中的 Router 略显

2017-10-21 22:33:35 457

转载 snort

PortScan_preprocessor 向标准记录设备中记录从一个源IP地址来的端口扫描的开始和结束。如果指定了一个记录文件,在记录扫描类型的同时也记录目的IP地址和端口。端口扫描定义为在时间T(秒)之内向超过P个端口进行TCP连接尝试,或者在时间T(秒)之内向超过P个端口发送UDP数据包。端口扫描可以是对任一IP地址的多个端口,也可以是对多个IP地址的同一端口进行。现在这个版本可

2017-10-18 18:09:27 311

转载 dpkg install 出现问题解决办法

我的ubuntu是16.04版本,今天安装软件(sudo apt-get install ssh)突然安装不上,有如下提示:/××××××××××××××××××××××××××dpkg: 处理软件包 gir1.2-unity-5.0:amd64 (--configure)时出错:该软件包正处于非常不稳定的状态;您最好在配置它之前,先重新安装它正在设置 ssh (1:7.2p2

2017-10-16 14:24:37 1633

原创 core dump 设置

ulimit -c unlimitedecho "ulimit -c unlimited" >> /etc/profileecho "/tmp/core-%e-%p" > /proc/sys/kernel/core_pattern

2017-10-12 15:17:39 288

转载 linux 定位线程CPU使用过高的方法

如何定位占用cpu过高的线程近来发现平台应用响应越来越慢,通过top命令发现,cpu占用率越来越高 1. 首先根据top命令,发现占用cpu最高的进程PID:3075.  通过ps aux | grep PID命令,进一步查看当前进程的具体信息。2. 显示当前进程下的所有线程列表  ps -mp pid -o THREAD,tid,time找到耗时最高的线程TI

2017-10-12 15:13:02 1338

原创 gcc: error trying to exec 'as': execvp: No such file or directory

编译的时候出现这个莫名其妙的问题,网上查立一大堆发现都搞不定最后发现是/usr/bin/as这个文件确实,或者软链接不存在

2017-09-30 11:59:22 1070

转载 gdb max-value-size

value of type `CFG' requires 123244 bytes, which is more than max-value-size可能archlinux有一些自己的限制,centos应该不会这么小就出现这个问题.今天在调试程序的时候,想要打印一个变量.不小心遇到了这个错误.顿时郁闷了...联想到可能是全局数据区装不下了?不对啊,如果全局数据区装不下,mak

2017-09-28 09:58:21 2708

转载 网卡TSO、UFO、GSO、LRO、GRO和RSS介绍

TSO、UFO、GSO、LRO、GRO和RSS介绍ethtool -k ,ethtool --show-offload ,或者可以看到很多网络接口的offload特性,例如:$ sudo ethtool -k eth0Offload parameters for eth0:rx-checksumming: ontx-checksumming: onscatter-gathe

2017-09-17 11:43:55 1343

转载 linux poll机制

POLL操作1、POLL运行过程:poll是一个系统调用,其内核入口函数为sys_poll,sys_poll差点儿不做不论什么处理直接调用do_sys_poll,do_sys_poll的运行过程能够分为三个部分: 1,将用户传入的pollfd数组复制到内核空间,由于拷贝操作和数组长度相关。时间上这是一个O(n)操作,这一步的代码在do_sys_poll中包含从函数開始到调用do

2017-08-31 22:13:21 261

转载 ionic2 APP退出事件

import {Component, ViewChild} from '@angular/core'; import {Platform, ToastController, Nav, IonicApp} from 'ionic-angular'; import {StatusBar, Splashscreen} from 'ionic-native'; import {TabsPage} f

2017-04-13 15:09:38 3779 1

转载 python tarfile

TAR ->import tarfiletar = tarfile.open("tar_file.tar","w")tar.add(".danoo_player_wifi")tar.close() TAR GZIP ->tar = tarfile.open("tar_file.tar.gzip","w|gz")tar.add("/root/.danoo_player

2017-01-12 17:32:56 841

转载 btrfs 基础知识

Btrfs 简介文件系统似乎是内核中比较稳定的部分,多年来,人们一直使用 ext2/3,ext 文件系统以其卓越的稳定性成为了事实上的 Linux 标准文件系统。近年来 ext2/3 暴露出了一些扩展性问题,于是便催生了 ext4 。在 2008 年发布的 Linux2.6.19 内核中集成了 ext4 的 dev 版本。 2.6.28 内核发布时,ext4 结束了开发版,开始接受用户的使用。

2016-10-20 15:58:47 1071

转载 inode

一、inode是什么?理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八

2016-10-20 15:28:13 376

转载 硬盘 SMART 检测参数详解

一、SMART概述   硬盘的故障一般分为两种:可预测的(predictable)和不可预测的(unpredictable)。后者偶而会发生,也没有办法去预防它,例如芯片突然失效,机械撞击等。但像电机轴承磨损、盘片磁介质性能下降等都属于可预测的情况,可以在在几天甚至几星期前就发现这种不正常的现象。如果发生这种问题,SMART功能会在开机时响起警报,至少让使用者有足够的时间把重要资料转移到其

2016-10-19 16:11:51 3171

转载 Linux Samba服务主配文件smb.conf中文详解

从网上找到描述比较详细的smb.conf中文解释:服务名:smb配置目录:/etc/sabma/主配置文件:/etc/sabma/smb.conf#============================== Global Settings =============================[global]samba服务器的全局设置,对整个服务器有效。workgrou

2016-09-13 12:07:40 10533

转载 Linux操作系统 Samba服务器配置与使用

Linux操作系统 Samba服务器配置与使用Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器

2016-09-13 10:09:03 728

转载 文件控制ACL

配置 Linux 的访问控制列表(ACL) 编译自:http://xmodulo.com/2014/08/configure-access-control-lists-acls-linux.html作者: Christopher Valerio 原创:LCTThttps://linux.cn/article-3966-1.html译者: VicYu 本文地址:htt

2016-09-12 18:51:17 604

转载 tune2fs

一.简介:tune2fs是调整和查看ext2/ext3文件系统的文件系统参数,Windows下面如果出现意外断电死机情况,下次开机一般都会出现系统自检。Linux系统下面也有文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。二.用法:tune2fs [ -l ] [ -c max-mount-counts ] [ -e errors-behavior ] [ -f

2016-09-12 18:41:42 432

转载 RAID 的基础知识

现在的操作系统,不论是windows 还是linux都具有raid的功能,RAID 分为硬件 RAID 和软件 RAID, 硬件 RAID 是通过 RAID 卡来实现的,软件RAID是通过软件实现的,现在常用的raid有:raid0:至少两块硬盘;raid1:至少两块硬盘;raid5:至少三块硬盘;raid6:至少四块硬盘;1、虚拟机环境准备虚拟机环

2016-09-12 09:29:45 314

转载 fdisk

Linux系统由于数据累计增长、前期存储规划不合理等诸多因素,出现存储不够用的情况时,此时就需要扩展逻辑分区或添加新的逻辑分区。下面介绍一下通过使用fdsik添加新的逻辑分区。 首先使用df命令检查文件系统的磁盘空间占用情况[root@DB-ONE-SERVER~]# df -hFilesystem Size Used Avail Use% Moun

2016-09-06 11:13:43 653

转载 Gluster一些级别知识

1:. 基本概念(1) brick:The brick is the storage filesystem that has been assigned to a volume.(2) subvolume:A brick after being processed by at least one translator.(3) volume:The final share a

2016-09-02 17:03:24 638

转载 python str()/repr()

尽管str(),repr()和``运算在特性和功能方面都非常相似,事实上repr()和``做的是完全一样的事情,它们返回的是一个对象的“官方”字符串表示,也就是说绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象。但str()则有所不同,str()致力于生成一个对象的可读性好的字符串表示,它的返回结果通常无法用于eval()求值,但很适合用于print语句输出。需要再

2016-08-30 18:44:55 335

转载 filter, mmap, reduce

Python内置了一些特殊函数,这些函数很具python特性。可以让代码更加简洁。可以看例子:1 filter(function, sequence):str = ['a', 'b','c', 'd']def fun1(s): return s if s != 'a' else Noneret = filter(fun1, str)print ret## ['b', '

2016-08-30 18:22:04 227

转载 xrange -->range

在Python中range和xrange是不同的,range返回值是:一个从0开始指定长度的连续整数序列。然而,xrange返回一个"xrange 对象",该对象非常类似于迭代器。举个例子:range(100) xrange(100).  range(100)会返回一个100个整数的序列,而xrange(100)会返回一个迭代序列。所以xrange支持迭代,而range不支持。好处是,在遍

2016-08-30 16:24:46 313

转载 setsockopt设置超时需要注意

原文:http://blog.csdn.net/qinmi/article/details/15230811.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET, SO_REUSEADDR, (const char*)&bReus

2016-08-03 11:03:55 13510 1

转载 二维数组作为参数需要注意的问题

在用二维数组名作为参数传递时容易出现Segmention Error。这是因为不能正确为二维数组中元素寻址的问题,正确的方法如下:1. 用指向一维数组的指针变量,如下例子所示:[cpp] view plain copy print?#include   #include     #define N   4    v

2016-07-29 12:05:32 404

转载 VIm 替换

vi/vim 中可以使用 :s 命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询。     :s/vivian/sky/ 替换当前行第一个 vivian 为 sky     :s/vivian/sky/g 替换当前行所有 vivian 为 sky     :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行

2016-07-09 09:54:24 300

转载 用户态的原子变量

GCC(GNU Compiler Collection)内建原子操作函数说明6.51 Legacy __sync Built-in Functions for Atomic Memory Access编译器内建,可以代替多线程全局变量自加、自减等操作,并且效率高于使用线程锁。type为8字节以下的整形数函数(加、减、与、或、非、异或)共12个:type __

2016-06-20 14:25:57 921

转载 Linux 异步IO

Linux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待 I/O 请求完成时不需要使用任何中央处理单元(CPU)。但是在某些情况中,I/O 请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步 I/O(AIO)应用程序接口(API)就提供了这种功能。在本文中,我们

2016-05-11 21:18:47 285

转载 sendfile

如今几乎每个人都听说过Linux中所谓的"零拷贝"特性,然而我经常碰到没有充分理解这个问题的人们。因此,我决定写一些文章略微深入的讲述这个问题,希望能将这个有用的特性解释清楚。在本文中,将从用户空间应用程序的角度来阐述这个问题,因此有意忽略了复杂的内核实现。什么是”零拷贝”为了更好的理解问题的解决法,我们首先需要理解问题本身。首先我们以一个网络服务守护进程为例,考虑它在将存储在文件

2016-05-11 09:36:55 499

转载 linux signal

最近同事的程序设计过程中用到了Linux的signal机制,从而引发了我对Linux中signal机制的思考。Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此,在实时性方面还是相对比较高的。Linux中signal机制的模型可以采用下图进行描述。  

2016-03-24 14:11:03 1000

转载 文件IO

在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO。本篇文件打算详细全面,深入浅出。剖析文件IO的细节。从多个角度探索如何提高IO性能。本文尽量用通俗易懂的视角去阐述。不copy内核代码。    阐述之前,要先有个大视角,让我们站在万米高空,鸟瞰我们的文件IO,它们设计是分层的,分层有2个好处,一是架构清晰,二是解耦。让我们看一下下面这

2016-03-06 11:41:48 409

转载 修改进程名字

每一个c程序都有个main函数,作为程序启动入口函数。main函数的原型是int main(int argc , char *argv[]);其中argc表示命令行参数的个数;argv是一个指针数组,保存所有命令行字符串。Linux进程名称是通过命令行参数argv[0]来表示的。Linux 还有环境变量参数信息,表示进程执行需要的所有环境变量信息。通过全局变量Char **envi

2015-12-22 09:20:55 2475

转载 nginx 的安装

要在nginx上开发,所以先了解下这个是干嘛的..百度一下很多编译源码需要的组件1.zlib2.pcre3.openssl使用ubuntu的话.可以直接使用sudo apt-get install zlibsudo apt-get install pcresudo apt-get install openssl这些默认都放在系

2015-12-11 11:20:29 362

转载 nginx 的安装

要在nginx上开发,所以先了解下这个是干嘛的..百度一下很多编译源码需要的组件1.zlib2.pcre3.openssl使用ubuntu的话.可以直接使用sudo apt-get install zlibsudo apt-get install pcresudo apt-get install openssl这些默认都放在系

2015-12-11 11:12:20 349

转载 ARP协议的作用

1. 什么是ARP?   ARP (Address Resolution Protocol) 是个地址解析协议。最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址。  2为什么要有ARP?OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface). IP地址在第三层, MAC地址

2015-11-18 18:07:25 4063

转载 比较kmalloc/vmalloc/get_free_pages

对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间。内核空间中,从3G到vmall

2015-11-18 16:24:49 380

转载 initcall的执行顺序

Init.h中有相关initcall的启动次序,在system.map中可看出具体的__initcall指针的前后次序 #define pure_initcall(fn) __define_initcall("0",fn,0)#define core_initcall(fn) __define_initcall("1",fn,1)#define core_initc

2015-11-18 14:56:02 657

转载 编译过程

hello.c源代码如下:?[Copy to clipboard]View Code C123456[c] view plaincopy"color:#339933">#include   "color:#993333">int main"color:#009900">("c

2015-11-18 12:36:00 433

提示
确定要删除当前文章?
取消 删除