
linux
文章平均质量分 96
harderc111
精通是相对的,无知是绝对的,道阻且长
展开
-
脚本实现sum/avg/max/min-求文本中每行数字
我们假设data文件中每行是一个数字,我们来使用awk语言和perl语言对这些数字做求和、求平均、求最大、求最小等计算。【awk】求和cat data|awk '{sum+=$1} END {print "Sum = ", sum}'求平均值cat data|awk '{sum+=$1} END {print "Average = ", sum/NR}'求最大值cat data|awk 'BEGIN转载 2017-12-04 10:06:54 · 271 阅读 · 0 评论 -
linux内存分配与回收
大神博客传送门:http://luodw.cc/2016/08/13/linux-cache/之前在实习时,听了OOM的分享之后,就对linux内核内存管理充满兴趣;但是这块知识非常庞大,没有一定积累,不敢写下,担心误人子弟;所以经过一个一段时间的积累,对内核内存有一定了解之后,今天才写下这篇博客,记录以及分享;之前也有写过linux内存管理,那篇文章主要是linux内存管理,这篇转载 2017-10-30 12:51:52 · 3151 阅读 · 0 评论 -
什么是系统平均负载(Load average)
一、什么是系统平均负载(Load average)? 在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢? 系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中:(通俗的说,运行队列中的进程树正在消耗内存和CPU资源,从而能算出消耗资源的比例。)转载 2017-10-20 23:50:48 · 888 阅读 · 0 评论 -
c++ linux下安全启动进程收集
下面的功能有待验证,需要做一下试验void AnaUtil::startServ(std::string& servPath){ char servName[255] = {0}; if(getServName(servPath.c_str(),servName,sizeof(servName)) == false) { LOG_ERROR << "getServName erro原创 2017-08-26 18:43:41 · 998 阅读 · 0 评论 -
grep awk和sed命令详解
1、awk命令awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk命令形式:awk [-F|-f|-v] 'commands' input-file(s) [-F|-f|-v] -F指定分隔符,-f调用脚本,-v定义变量 var=value'commands转载 2017-08-24 16:36:40 · 827 阅读 · 0 评论 -
make help收集
用法:make [选项] [目标] ...选项: -b, -m 忽略兼容性。 -B, --always-make 无条件 make 所有目标。 -C DIRECTORY, --directory=DIRECTORY 在执行前先切换到 DIRECTORY 目录。原创 2017-08-25 21:58:53 · 1799 阅读 · 0 评论 -
systemd详解(CentOS 7)
一、init进程演变 1.init的发展CentOS 5: SysV init,串行CentOS 6:Upstart,并行,借鉴ubantuCentOS 7:Systemd,并行,借鉴MAC 2.Systemd新特性: (1)系统引导时实现服务并行启动:服务间无依赖关系会并行启动 (2)按需激活进程:若服务转载 2017-08-22 00:43:10 · 318 阅读 · 0 评论 -
Linux定时任务Crontab命令详解
linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。一、crond简介crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与wi转载 2017-08-21 23:16:51 · 302 阅读 · 0 评论 -
linux系统编程收集
linux系统编程收集地址:点击打开链接本节目标:exec替换进程映像exec关联函数组(execl、execlp、execle、execv、execvp)一,exec替换进程映像在进程的创建上Unix采用了一个独特的方法,它将进程创建与加载一个新进程映象分离。这样的好处是有更多的余地对两种操作进行管理。当我们创建了一个进程之后,通常将子进程替换成新的进转载 2017-08-24 17:39:12 · 226 阅读 · 0 评论 -
一次服务器CPU占用率高的定位分析
ps H -e -o pid,tid,pcpu,cmd --sort=pcpu |grep freeswitch 背景:通过性能监控发现上线服务器cpu某核占用率已经达到了100%,而且是由我们的某个核心服务导致的。幸亏由于我们的服务进程由多个相同worker(线程)调度承担的,所以除了CPU占用率高之外,并没有对服务造成影响。随着上次我们找到那个吃IO的罪犯,这次我们要追捕的是潜伏在团体中的转载 2017-10-30 14:58:50 · 918 阅读 · 0 评论 -
Linux 进程的 Uninterruptible sleep(D) 状态
运行在 KVM 虚拟机里的一些进程突然出了问题,这些出了问题的进程无法用 kill杀掉,使用 ps 可以看到这些进程处于D 状态:123456[build@kbuild-john ~]$ ps -a -ubuild -o pid,ppid,stat,command PID PPID STAT COMMAND17009 1 Ds转载 2017-11-09 16:13:01 · 2890 阅读 · 0 评论 -
dns工作过程及原理 (linux dns及android dan的实现差异)
前言本文分析dns工作过程及原理,给一个简单的dns实现代码流程,并针对linux及android12下实现dns的不同,分别分析,供学习dns参考。一、DNS功能DNS(Domain Name System,域名系统),dns用于进行域名解析,说白了,就是给出一个12主机名,你给我找出该主机名对应的ip地址。例如:给你www.baidu.com的主机名,你给转载 2017-11-09 17:32:12 · 939 阅读 · 0 评论 -
Linux Shell 文本处理工具集锦
本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和参数都是最常用和最为实用的;我对shell脚本使用的原则是命令单行书写,尽量不要超过2行;如果有更为复杂的任务需求,还是考虑python吧;find 文件查找查找txt和pdf文件 find转载 2017-11-21 15:37:23 · 207 阅读 · 0 评论 -
常用linux命令-xargs
给其他命令传递参数的一个过滤器 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数。转载 2017-11-21 15:22:32 · 435 阅读 · 0 评论 -
查看开机时间&查看进程启动时间
查看进程启动时间ps -eo lstart,comm |grep pidname 2.查看开机时间有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间; 有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间; 下面总结一些查看Linux开机关机时间的方法(非常全面)1: who 命令查看转载 2017-11-20 21:54:28 · 3762 阅读 · 0 评论 -
关于gperftools
gperftools是Google提供的一套工具,其中的一个功能是CPU profiler,用于分析程序性能,找到程序的性能瓶颈。 安装gperftools:http://code.google.com/p/gperftools/downloads/listlibunwind:http://download.savannah.gnu.org/releases/libunwind转载 2017-11-14 19:20:44 · 349 阅读 · 0 评论 -
10个重要的Linux ps命令实战
Linux作为Unix的衍生操作系统,Linux内建有查看当前进程的工具ps。这个工具能在命令行中使用。PS 命令是什么查看它的man手册可以看到,ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。ps命令支持三种使用的语法格式UNIX 风格,选项可以组合在一起,并且选项前必须转载 2017-10-17 00:20:19 · 215 阅读 · 0 评论 -
使用 nice、bulimic 和 cgroups 限制 cpu 占用率
地址:https://linux.cn/article-4742-1.html#3_2821Linux内核是一名了不起的马戏表演者,它在进程和系统资源间小心地玩着杂耍,并保持系统的正常运转。 同时,内核也很公正:它将资源公平地分配给各个进程。但是,如果你需要给一个重要进程提高优先级时,该怎么做呢? 或者是,如何降低一个进程的优先级? 又或者,如何限制一组进程所使用的资源呢?转载 2017-10-17 00:16:50 · 839 阅读 · 0 评论 -
C/C++程序CPU问题分析
转载地址:http://www.10tiao.com/html/473/201606/2651473094/1.html 程序的CPU问题是另外一类典型的程序性能问题,很多开发人员都受到过程序CPU占用过高的困扰。本次我们收集了14个CPU类的问题,和大家一起分析下这些问题的种类和原因。另外,对于C/C++程序而言,目前已经有了很多CPU问题定位的工具,本文也会进行比较分析。CPU问题分析 程序转载 2017-11-11 19:26:34 · 9824 阅读 · 1 评论 -
如何得到goroutine 的 id?
在Go中,系统是不提供goroutine的id给外界的,丫的认为这事情不应该提供给用户来使用。可有时候,实在是觉得这个东西必须得有呀,比方说后台开了个goroutine进行http请求的处理,这个免不了要打个日志什么的, 当并发量稍微大点的时候,就会发现这些信息的输出就交叉错乱在一起了。怎么区分。一种方案是在http请求的时候,生成一个context的东西,里面有个值来表示是这个gorou转载 2017-11-10 16:21:19 · 1713 阅读 · 0 评论 -
Linux IO模式及 select、poll、epoll详解
注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。一 概念说明在进行解释之前,首先要说明几个概念:- 用户空间和内核空间-转载 2017-07-21 10:04:58 · 242 阅读 · 0 评论 -
Deepin15.1下搭建GTK+3开发环境
在终端中安装一个包:sudo apt-get install libgtk-3-dev安装完后可以试一试(以下为test.c):[cpp] view plain copy#include int main(int argc, char *argv[]) { GtkWidget *window;转载 2017-05-30 23:22:56 · 1927 阅读 · 1 评论 -
linux下查看线程-以及查看所占用的cpu
1. top -H -p 进程号查看某个进程所属的线程2. top 然后按f, 会出现很多选项,其中有个 P = Last used cpu (SMP);选择 , 然后回车就可以回到top的界面里, 多了一项 P。这样可以查看进程/线程所占用的cpu原创 2016-08-24 16:58:04 · 695 阅读 · 0 评论 -
PHP 中获取文件名及路径和shell find
只是做一个收集:1. basename("/mnt/img/image01.jpg")函数:得到文件名;输出结果为:image01.jpg. 使用 basename($uriString) 我们可以得到一个包含扩展名的文件名; 如果不需要扩展名,也可以使用 basename($uriString, $extString) 过滤扩展名,仅仅返回文件名。2. echo原创 2016-08-10 23:00:51 · 852 阅读 · 0 评论 -
nginx.conf收集
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { wo原创 2016-08-28 12:42:56 · 340 阅读 · 0 评论 -
linux下测试机器的硬件信息
测试机器的硬件信息: 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz (看到有8个逻辑CPU, 也知道了CPU型号) # cat转载 2016-08-16 09:28:52 · 329 阅读 · 0 评论 -
浅谈linux性能调优之十二:红帽优化策略Tuned
浅谈linux性能调优之十一:内存分配管理http://www.2cto.com/os/201307/228761.html 红帽推出的一个动态调优方案,用户可以在不同的时间段内采用不同的调优方案。由于以服务进程形式存在,就可以很方便的和crontab结合!Tuned 是监控并收集各个系统组件用量数据的守护进程,并可使用那些信息根据需要动态调整系统设置。它可以对 C转载 2016-04-04 10:31:00 · 2125 阅读 · 0 评论 -
转载的linux中wget命令的使用方法详解
转自:http://www.111cn.net/sys/linux/104498.htm上面网址有不少好东西,大家自己进去发掘。wget命令是用来下载安装软件了我们经常会使用它来安装远程文件了,下面我们来看一篇关于linux中wget命令的使用方法详解,具体的如下所示Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工转载 2016-04-04 09:36:41 · 1055 阅读 · 0 评论 -
centos桌面版环境打造
这篇文章总结的非常好,忍不住传过来了。。。。。本文转自:http://seisman.info/linux-environment-for-seismology-research.html#google-chrome这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个人在未来重装系统时参考。对于其他地震学科研人员,也许有借鉴意义。阅读须知:本文适用转载 2016-04-03 18:35:17 · 7268 阅读 · 0 评论 -
在Linux下使用NTFS-3G挂载NTFS文件系统
怎么在Linux系统下使用NTFS的U盘或者是分区以及移动硬盘-使用工具NTFS-3G。注释:我们在Windows是的时候我们的所使用的系统是NTFS或者移动硬盘都是NTFS,但是在Linux系统下面NTFS的分区就不能直接使用,那我们想用的话怎么办? 现在我就教大家一个简单的方法让NTFS的分区可以再Linux系统里面使用,方法如下。NTFS-3G的安装和配置 ——————Linux下挂转载 2016-04-03 11:54:16 · 2327 阅读 · 0 评论 -
ubuntu16.04安装chrome
--更简单的方法是先下载chromium浏览器,这是不禁止的,然后打开chromium搜索chrome,chrome的官网下载即可 //安装好后,终端输入google-chrome即可打开另一种方法:sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/将下载源加转载 2016-08-14 18:05:04 · 407 阅读 · 0 评论 -
CentOS7修改主机名
在CentOS或RHEL中,有三种定义的主机名:a、静态的(static),b、瞬态的(transient),以及 c、灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Dan's Computer)转载 2016-11-08 16:19:42 · 333 阅读 · 0 评论 -
centos7.2环境搭建
1.镜像源下载centos镜像,刻盘装机2.配置系统的ip以及dns服务器等2.1 在/etc/sysconfig/network-scripts/ 下找到网口配置文件,如 ifcfg-enp2s0修改里面ip等内容,例如:TYPE=EthernetBOOTPROTO=static #静态ipDEFROUTE=yesIPV4_FAILURE_FATAL=noIP原创 2016-11-09 08:05:48 · 2605 阅读 · 0 评论 -
LINUX下如何查看内存品牌和速率啊?
背景:想加个内存,Mysql服务器上的内存不够了,就算可以插(插槽都有,现在是4条4G内存,还有空闲八个槽。),不知道兼不兼容,否则不稳定的,不兼容的话,死的更惨,这个不一定了,停产了,就没有办法了。怎么办?得看内存的品牌及型号。[root@jackxiang ~]# rpm -qa|grep dmidecode dmidecode-2.11-2.el6.x86_64[root@jac转载 2017-04-07 11:06:24 · 36754 阅读 · 1 评论 -
linux下自用简单go app编译脚本
#!/bin/bash#默认$GOROOT 已经存在,并为/usr/local/go/#log文件目录LOG_DIR=./log#DAYS=15代表删除15天前的log文件DAYS=15#删除15天前的log文件find $LOG_DIR/ -mtime +$DAYS -name "*.txt" -deleteecho "delete log $DAYS ago原创 2017-03-07 19:38:55 · 2091 阅读 · 0 评论 -
Linux Shell脚本查看NUMA信息
网上收集的,感谢作者 http://www.shouce.ren/post/view/id/56001Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息。 #!/bin/bash function get_nr_processor() { grep '^processor' /proc/cpuinfo | wc -l } function get_转载 2016-12-13 14:28:27 · 1563 阅读 · 0 评论 -
Linux crontab 命令格式与详细例子
基本格式 :* * * * * command分 时 日 月 周 命令第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0~6(0表示星期天)第6列要运行的命令crontab文件的一些例子:30 21 * * * /usr/local/etc/rc.d/转载 2016-12-06 11:39:48 · 203 阅读 · 0 评论 -
自定义go微服务build脚本
#!/bin/bash#默认$GOROOT 已经存在,并为/usr/local/go/app=***jobserviePath=`pwd`export GOPATH=$(dirname $serviePath)cd $appp=$(pidof $serviePath/$app/$app )if [ $p ]then echo "kill $app pid $p"原创 2016-11-17 09:20:09 · 1021 阅读 · 0 评论 -
LVM逻辑卷管理器配置小结
https://segmentfault.com/a/1190000004632775前言Logical Volume Manager (LVM),逻辑卷管理LVM是一个多才多艺的硬盘系统工具,无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦,但是LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘,可以让管理员弹性的转载 2016-11-12 16:51:51 · 1016 阅读 · 0 评论 -
制作CentOS 6.5一键自安装ISO镜像光盘
http://yangfannie.com/771.html因为工作中需要经常安装系统并且会有一些定制的系统包和软件。定制ISO可以大大减轻运维的负担。本文以Centos 6.5制作为例一、系统安装包说明目录树结构|-- .discinfo|-- .treeinfo|-- CentOS|-- base|-- images|转载 2016-11-15 23:06:09 · 5450 阅读 · 0 评论