操作系统/算法
文章平均质量分 57
zkaipmoo
这个作者很懒,什么都没留下…
展开
-
技术学习
所谓踏实,并不是踏踏实实追求你的目标,而是踏踏实实把你够得着看得见的就在身边的东西干好。我还记得我刚参加工作,从老家出来的时候,从来没有想过要成为一个技术牛人,也从来没有想过我的博客会那么的有影响力,在做自己力所能及,看得见摸得着的事情,我就看见什么技术就学什么,学着学着就知道怎么学更轻松,怎么学更扎实,这也许就是我的最短路径。中国人中庸的思想,入世和出世,每天的工作就是入世。举个例子转载 2013-09-14 19:32:18 · 747 阅读 · 0 评论 -
利用Cobbler批量布署CentOS
从事网游运维的兄弟们应该深有感触,往往在开新服的时候需要大批量的布署新的服务器,时间紧迫而且量大,装系统、初始化,枯燥而又乏味,有时还容易出错, 为了解放我们的双手,所以要实现自动化,Red Hat 最新发布了网络安装服务器套件 Cobbler(补鞋匠)集成了PXE、DHCP、DNS、Kickstart服务管理和yum仓库管理工具,相对之前的 Kickstart 更加快捷、方便的批量布署red h转载 2014-01-13 10:52:45 · 1024 阅读 · 0 评论 -
如何把一个用户加入sodu组
在一个命令前加sudo,可以使用超级用户的权限执行该命令。但并不是任何用户都可以使用sudo,只有用户属于sudo组时才能使用这个命令。如 果希望把一个用户加入sudo组,可以用root登录系统,然后执行visudo(这个命令实际上就是用vi编辑/etc/sudoers文件,/etc /sudoers文件本身是只读的)。在文件中找到"root ALL=(ALL) ALL"这一行,然后在下面原创 2014-01-13 10:49:28 · 1308 阅读 · 0 评论 -
收集linux几个快捷键
ctrl+a linux命令最前面ctrl+e linux命令最后面ctrl+l 清除屏幕内容(等同于clear)ctrl+u 清除剪切光标之前的内容ctrl+k 剪切清除光标之后的内容ctrl+y 黏贴刚才删除的字符ctrl+r 在历史命令中查找$ 显示系统最后一个参数原创 2014-01-14 17:42:20 · 730 阅读 · 0 评论 -
haproxy+keepalived千万pv架构
haproxy+keepalived千万pv架构设计如下:原创 2014-01-19 13:47:28 · 1072 阅读 · 0 评论 -
linux命令小记
查看系统中占用最多空间的前十个文件或者目录du -cks * | srot -rn | head -n 10原创 2014-01-13 22:08:40 · 757 阅读 · 0 评论 -
技术汇总
春节期间收集的各种有意思的技术微博,这里是汇总帖。技术方向包括了分布式、开源、产品、关键领域,等等。排名不分先后。@温高铁各种数据库连接池性能对比 http://t.cn/zjVqSNg 结论:1) Druid是性能最好的数据库连接池,tomcat-jdbc和druid性能接近。2)proxool在激烈并发时会抛异常,完全不靠谱。 3) c3p0和proxool都相当慢,慢到影响s原创 2014-02-13 13:12:17 · 849 阅读 · 0 评论 -
Linux 首次引入 nftables
Linux 3.13 带来了很多特性。nftables也是第一次正式发布。nftables是一个致力于替换现有的{ip,ip6,arp,eb}tables框架(也就是大家熟知的iptables)的项目。然而,Linux3.13中的nftables版本还是不完整的,还缺少一些重要的特性。这些特性会在后续的Linux版本中发布。大多数场景下nftables已经可以使用,但是完整的支持(即,nfta翻译 2014-02-18 10:16:55 · 1549 阅读 · 0 评论 -
挂载盘显示busy
今天一同事挂错了盘。然后卸载掉了,再重新moun,仍让显示busy。mount: /dev/xvdc1 already mounted用一下办法解决了查看相关进程[root@AY1402191827587159d8Z data_disk1]# fuser -m /dev/xvdc1 /dev/xvdc1: 817[root@AY1402191827原创 2014-03-03 19:43:44 · 6113 阅读 · 0 评论 -
定位系统 瓶颈办法总结
1.查看平均负载uptime(处于等待任务数)2.确认cpu,io有无瓶颈sar或者vmstat察看cpu使用率和io等待率随着时间的等待情况cpu负载过高时,可以通过以下流程查找原因1.确认是程序原因,还是系统原因。用top或者sar确认2.通过ps察看可见进程状态和cpu使用时间,确认有问题的进程3.确定进程之后,如果想进一步查找原因,可以通过strace跟踪,或者原创 2013-11-23 14:37:06 · 1231 阅读 · 0 评论 -
Linux下/proc目录简介
1. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文原创 2014-06-09 23:31:32 · 501 阅读 · 0 评论 -
lsof命令
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打原创 2014-06-17 17:54:08 · 685 阅读 · 0 评论 -
linux select函数用法
select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE *结构的表示就是stdin、stdout、stderr。 int select(原创 2015-01-29 11:30:51 · 529 阅读 · 0 评论 -
linux之lsof命令
lsof, LiSt Opened Files, 列出打开的文件, 听起来很简单的样子. 但想*nix中很多其他工具一样, lsof把这件简单的事情做到了炉火纯青. 因为Unix认为”一切皆文件”, 那么”打开的文件”就不仅仅是传统意义上打开的文件了, 还可以是网络/Unix域套接字, 匿名/具名管道, 共享库文件, 目录文件, 设备文件等等. 很多场景下, 查看进程或系统打开的文件会给调试带来极原创 2014-12-30 15:11:39 · 657 阅读 · 0 评论 -
nf_conntrack: table full, dropping packet
这几天发现网站打开很慢,查看带宽也够,原创 2014-09-20 17:21:42 · 1490 阅读 · 0 评论 -
电脑问题诊断
吃完饭,电脑突然上不了玩,诊断出现如下错误:您的计算机配置似乎是正确的,但该设备或资源(DNS 服务器)没有响应.查了一会原来是dns的问题。改成自动获取dns就好了。原创 2014-01-12 15:18:48 · 917 阅读 · 0 评论 -
memcached hash一致性算法
<?php/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */class cons原创 2016-08-04 15:28:16 · 476 阅读 · 0 评论 -
几种流行的hash函数
A comprehensive collection of hash functions, a hash visualiser and some test results [see Mckenzie et al. Selecting a Hashing Algorithm, SP&E 20(2):209-224, Feb 1990] will be available someday. If you原创 2016-08-26 16:58:55 · 2113 阅读 · 0 评论 -
linux学习路线
Linux技术学习路线如果你要学习Linux,下面的学习路线图可以作为参考:原创 2013-12-22 15:35:53 · 1315 阅读 · 0 评论 -
linux使用tcpdump抓包工具抓取网络数据包
tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04。tcpdump的命令格式tcpdump的参数众多,通过man tcpdump可以查看tcpdump的详细说明,这边只列一些笔者自己常用的参数:tcpdump [-i 网卡] -nnAX '表达式'各参数说明如下:-i:interface 监原创 2013-12-10 16:32:29 · 2085 阅读 · 0 评论 -
如何查看linux版本
[root@AY1306281158002549d4Z ~]# uname -aLinux AY1306281158002549d4Z 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux[root@AY1306281158002549d4Z ~]# uname -r原创 2013-12-09 23:47:24 · 785 阅读 · 0 评论 -
招聘程序员
操作,知识,经验,能力我们有很多的面试官似乎分不清,什么是操作能力,什么是知识,什么是经验,什么是能力,这导致了我们的面试官经常错误地对面试者下结论,我认为分不清这些事的人是没有资格做面试官的。所以,我有必要在这里把这个问题先讲清楚。操作。我们的面试官分不清楚什么是操作技能,什么是知识,他们甚至认为操作技能就是知识甚至经验。比如他们会 问如下的问题,请问Java转载 2013-09-14 21:08:01 · 753 阅读 · 0 评论 -
一个fork的面试题
前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的:题目:请问下面的程序一共输出多少个“-”?1234567891011121314转载 2013-09-14 21:10:56 · 699 阅读 · 0 评论 -
Linux 性能监控常用命令
工具简单介绍top查看进程活动状态以及一些系统状况vmstat查看系统状态、硬件和系统信息等iostat查看CPU 负载,硬盘状况sar综合工具,查看系统状况mpstat查看多原创 2013-12-08 22:44:22 · 713 阅读 · 0 评论 -
c程序中出现错误:程序中有游离的‘\240’
在写程序时,有时候编译器需要程序必须是英文输入,但大家经常切到中文或者直接复制网络上的源代码,所以就出现了et_ip.c:28:1: 错误: 程序中有游离的‘\302’get_ip.c:28:1: 错误: 程序中有游离的‘\240’get_ip.c:28:1: 错误: 程序中有游离的‘\302’get_ip.c:28:1: 错误: 程序中有游离的‘\240’get_原创 2013-12-09 10:26:03 · 4029 阅读 · 0 评论 -
c程序内存泄露检查工具
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-O'Reilly开源代码奖。Valgrind遵守GNU通用公共许可证条款,是一款自由软件。 官网http://www.valgrind.org原创 2013-12-09 10:37:08 · 3005 阅读 · 0 评论 -
使用Strace 调试工具
strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统呼叫及它所接收的系统信息。strace是一个有用的小工具,它可以通过跟踪系统调用来让你知道一个程序在后台所做的事情。Strace是一个基础的调试工具,在大多数Linux系 统上默认已经安装;但是即便你不是在跟踪一个问题的时候它也是一个极好的软件。它能告诉你很多关于一个Linux程序怎样工作的信息。原创 2013-12-08 22:25:00 · 678 阅读 · 0 评论 -
Linux网络编程必看书籍推荐
首先要说讲述计算机网络和TCP/IP的书很多。 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属Andrew S.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。而原创 2013-12-10 00:32:46 · 800 阅读 · 0 评论 -
Linux内核学习四库全书
关于内核学习我建议不要上来就读内核而是先了解内核的构成和特性,然后通过思考发现疑问这时再去读内核源码。即先了解概貌在读局部细节。而且内核分成好多部分,不要只是按照顺序去读,应该针对某一部分比如内存管理或进程管理横向读几本书,这样可以理解很全面。Linux Kernel 四库全书1. Linux内核设计与实现 Edition 2 2. Linux设备驱动 Edition转载 2013-12-10 00:44:49 · 850 阅读 · 1 评论 -
如何学习linux编程
如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、ftp等协议的编程。建议学习路径: 首先先学学编辑器,vim, emacs什么的都行。然后学make file文件,只要知道一点就行,这样就可转载 2013-12-10 01:01:23 · 732 阅读 · 0 评论 -
linux下history(历史)命令用法详解
如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率。本文将通过实例的方式向你介绍 history 命令的15个用法。1. 使用 HISTTIMEFORMAT 显示时间戳当你从命令行执行 history 命令后,通常只会显示已执行命令的序号和命令本身。如果你想要查看命令历史的时间戳,那么可以执行:# export HISTTIMEF原创 2013-12-09 23:38:48 · 1405 阅读 · 0 评论 -
linux中more命令
名称:more 使用权限:所有使用者 使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..] 说明:类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中原创 2013-12-09 23:42:34 · 874 阅读 · 0 评论 -
grep 正则表达式及选项以及注意
grep命令简介:在ex编辑器(我没用过)中,启动ex编辑器后要查找某个字符串时,在ex的命令提示符后键入::/pattern/p:/g/pattern/pgrep这个名字就由来如此。其中p的含义是print,而当g出现在pattern前面的时候,其含义是“文件中所有行”,或“执行全局替换”。被查找的模式称作正则表达式(regular expressio转载 2013-12-09 23:56:47 · 903 阅读 · 0 评论 -
linux中wc命令
下面让我们来简单的看一下其支持的参数及其代表的含义。参数及含义参数含义-c显示文件的Bytes数(字节数)-l将每个文件的行数及文件名输出到屏幕上-m将每个文件的字符数及文件名输出到屏幕上,如果当前系统不支持多字节字符其将显示与-c参数相同的结果-w将每个文件含有多少个词及文件名输出到屏幕上原创 2013-12-10 00:03:15 · 906 阅读 · 0 评论 -
ldconfig命令详解,linux动态链接库
动态链接库管理命令 为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig.此执行程序存放在/sbin目录下. ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接转载 2013-12-10 00:11:15 · 889 阅读 · 0 评论 -
C语言经典著作导读
基础篇1.《写给大家看的C语言书(第2版)》原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: (美)Greg Perry [作译者介绍] 译者: 谢晓钢 刘艳娟 丛书名: 图灵程序设计丛书 C/C++系列 出版社:人民邮电出版社 ISBN:9787115216359原创 2013-12-10 00:48:23 · 1030 阅读 · 0 评论 -
Linux下高并发socket最大连接数所受的各种限制
1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:原创 2013-12-10 11:43:27 · 771 阅读 · 0 评论 -
看unix高级编程时遇到apue.h找不到的问题
下载源码从unix高级编程书籍官网(http://www.apuebook.com)下载书籍的上的所有源码。wget http://www.apuebook.com/src.2e.tar.gz解压这个文件tar -zxvf src.tar.gz解压后文件会放在apue.2e目录下,这个目录里包含了书本上的源码,也包含了apue.h和error.c文件。复制a原创 2013-12-10 17:30:40 · 868 阅读 · 0 评论 -
rsync 的核心算法
rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输。rsync中一项与其他大部分类似程序或协定中所未见的重要特性是镜像是只对有变更的部分进行传送。rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝。rsync利用由Andrew Tridgell发明的算法。这里不介绍其使用方法,只介绍其核心算转载 2016-09-07 16:52:44 · 342 阅读 · 0 评论