
Linux
文章平均质量分 54
MyObject-C
从事于游戏、广告、推荐、金融交易相关后台开发
展开
-
vim替换
匹配方括号中的任意一个字符,可用-表示字符范围。如[a-z0-9]匹配小写字母和数字。匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f]匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_]匹配阿拉伯数字之外的任意字符,等同于[^0-9]匹配十六进制数字,等同于[0-9A-Fa-f]匹配单词字母,等同于[0-9A-Za-z_]匹配除方括号中字符之外的任意字符。匹配阿拉伯数字,等同于[0-9]匹配非空白字符,等同于[^\t]匹配空白字符,等同于[\t]原创 2022-09-22 13:35:51 · 626 阅读 · 0 评论 -
cpu性能以及nanosleep
1.windows上的sleep最小间隔可以精确到1ms,但是linux上sleep函数需要注意几个地方:1,usleep(int microseconds)是旧式API,虽然参数是微妙,但是在linux系统上如果间隔低于10毫秒,死循环的CPU占用率仍然很高,如果要用usleep,间隔最小值必须设置为10ms,10000微妙。windows上不存在这种问题,只要sleep的间隔有1ms,...原创 2020-04-07 18:43:17 · 1891 阅读 · 0 评论 -
内存、swap相关查看
内存centos 6.5 内存查看 最近有个月经问题,老有人问为何开机后,还没有其他服务,mem就被用完了?是不是内存泄露?是否要重启服务?只能说不要看现象,要看本质才能找到问题的根源。往往给出这样的结果,怀疑内存用了90%:Mem: 4146788k total, 3825536k used, 321252k free, 213488k buffersSwap: 2650...转载 2018-03-01 21:34:57 · 1385 阅读 · 0 评论 -
ssh进不去问题
排查路径:1、一开始怀疑可能是io阻塞导致,于是使用iostat -xdm 1 100,查看 io状况,发现io不高 2、于是使用top,查看系统负载情况。发现系统负载很高,但是cpu使用率比较低,同时wa也不多,难道是正在执行的进程数很多。3、另起一个窗口 执行 vmstat 1 10 查看系统状态,没有发现异常,于是怀疑是不是进程D状态导致。4、于是free -g 查看内存使用情况,发现fre...转载 2018-03-01 16:08:43 · 2319 阅读 · 0 评论 -
cpu cache
进程系统资源的使用原理 大部分进程通过glibc申请使用内存,但是glibc也是一个应用程序库,它最终也是要调用操作系统的内存管理接口来使用内存。大部分情况下,glibc对用户和操作系统是透明的,所以直接观察操作系统记录的进程对内存的使用情况有很大的帮助。但是glibc自己的实现也是有问题的,所以太特殊情况下追究进程的内存使用也要考虑glibc的因素。其他操作系统资源使用情原创 2017-11-06 19:44:18 · 750 阅读 · 0 评论 -
vim颜色设置
vim 都是 通过 hi 这个命令来设置例:设置关键字为蓝色非粗体 :hi Identifier ctermfg=blue cterm=none(bold 就设置成粗体)hi Comment ctermfg=darkgreenhi String ctermfg=darkredhi Type ctermfg=yellowhi Number ctermfg=da转载 2017-10-11 15:02:51 · 679 阅读 · 0 评论 -
ntpd、ntpdate的区别
ntpd、ntpdate的区别使用之前得弄清楚一个问题,ntpd与ntpdate在更新时间时有什么区别。ntpd不仅仅是时间同步服务器,他还可以做客户端与标准时间服务器进行同步时间,而且是平滑同步,并非ntpdate立即同步,在生产环境中慎用ntpdate,也正如此两者不可同时运行。时钟的跃变,对于某些程序会导致很严重的问题。许多应用程序依赖连续的时钟——毕竟,这是一项常见的假定,转载 2017-04-21 17:59:18 · 1561 阅读 · 0 评论 -
crontab
格式0 1 * * * root /data/bakdb.sh > /data/bak.log 2>&1 minute - 从0到59的整数 hour - 从0到23的整数 day - 从1到31的整数 (必须是指定月份的有效日期) month - 从1到12的整数 (或如Jan或Feb简写的月份)dayofweek - 从0到7的整数,转载 2017-03-17 13:59:33 · 414 阅读 · 0 评论 -
linux网络配置
查看网络配置cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE="eth1" 网卡名称NM_CONTROLLED="yes" network mamager的参数 ,是否可以由NNetwork Manager托管转载 2017-04-01 15:19:28 · 254 阅读 · 0 评论 -
ssh解析
SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task Force)的Network Working Group所制定的一种协议。SSH的主要目的是用来取代传统的telnet和R系列命令(rlogin,rsh,rexec等)远程登陆和远程执行命令的工具,实现对远程登陆和远程执行命令加密。防止由于网络监听而转载 2017-04-06 14:06:08 · 427 阅读 · 0 评论 -
gettimeofday/clock_gettime
我们写程序的时候经常会使用计时函数,比如RPC中计算超时时间,日志中打印当前时间,性能profile中计算某个函数的执行时间等。在使用时间函数的时候,我们一般默认认为时间函数本身的性能是很高的,对主逻辑的影响可以忽略不计。虽然绝大部分情况下这个假设都没问题,但是了解更多细节能够增加我们对问题的把控力,利于系统的设计和问题的调查。首先来比较gettimeofday/clock_gettime的性能。...转载 2018-03-02 11:41:08 · 3950 阅读 · 0 评论 -
clock()介绍
平时在Linux和Winows下都有编码的时候,移植代码的时候免不了发现一些问题。1. 你到底准不准?关于clock()计时函数首先是一段简单的测试代码,功能为测试从文本文件读取数据并赋值给向量最后打印输出的运行时间。int main(int argc, char **argv){ clock_t t1=clock();ifstream in("data.txt");v...原创 2018-08-14 20:15:12 · 5682 阅读 · 0 评论 -
tcpdump
用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 实用命令实例默认启动tcpdump普通情况下,...转载 2018-08-13 16:36:23 · 218 阅读 · 0 评论 -
linux性能分析工具介绍
Linux平台下面有不少性能分析的工具,每个工具有何优劣却很难找到一个完整的列表,这里做一下记录,以便参考。 1. Intel VTune http://software.intel.com/en-us/intel-vtune-amplifier-xe/大名鼎鼎的分析工具,可以直接启动一个程序来分析,比如$vtuneHome/amplxe-cl -collect hotspo...转载 2018-11-12 12:01:34 · 1191 阅读 · 0 评论 -
ioctl socket buffer
ioctl在socket中的一些用法及示例函数 : ioctl(int fd, int request, void * arg)定义 : 功能 : 控制I/O设备, 提供了一种获得设备信息和向设备发送控制参数的手段.参数 : int fd 文件句柄. 用于socket时, 是socket套接字. int request 函数定义的所有操作. 关于socket的...转载 2018-11-02 17:44:50 · 877 阅读 · 0 评论 -
perf介绍
perf学习 什么是perf?linux性能调优工具,32内核以上自带的工具,软件性能分析。在2.6.31及后续版本的Linux内核里,安装perf非常的容易。几乎能够处理所有与性能相关的事件。perf可以用于查看热点函数,查看cashe miss的比率,从而帮助开发者来优化程序性能。 什么是性能事件?指在处理器或者操作系统中发生,可能影响到程序性能的硬件事件或者软件事...转载 2018-10-15 19:55:49 · 9618 阅读 · 0 评论 -
vim查看二进制文件
首先创建一个二进制文件: 1 2 3 [oracle@logserver tmp]$ echo -n "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz" > test.bin [oracle@logserver tmp]$ cat test.bin ABCDEFGH...转载 2018-08-21 20:48:37 · 5306 阅读 · 0 评论 -
虚拟IP使用
如何高可用性高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台...转载 2018-08-16 14:37:27 · 4581 阅读 · 1 评论 -
samba使用
迅速配置1、在/etc/samba/smb.conf文件的末尾之添加如下字段: [work] comment = work path = /home/work writable = yes2、在对待iptables的问题上:转载 2016-11-26 09:49:06 · 3585 阅读 · 0 评论 -
linux账户相关,rpm,网络
查询账号信息:用户账号文件:主要是:/etc/passwd、/etc/shadow组账号文件:主要是:/etc/group、/etc/gshadowgroups命令—查询用户账号所属的组id命令—查询用户账号的身份标识添加、删除、修改用户账号:useradd命令—添加用户账号基本命令格式:useradd [原创 2016-11-25 15:49:39 · 522 阅读 · 0 评论 -
lsof简介
lsof简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接 和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通转载 2015-08-19 14:34:38 · 321 阅读 · 0 评论 -
vmware-tools-distrib
[root@Fedora-W vmware-tools-distrib]# sudo ./vmware-install.plA previous installation of VMware Tools has been detected.The previous installation was made by the tar installer (version 4).Ke转载 2015-08-24 20:37:48 · 1758 阅读 · 0 评论 -
PRId64,LP64
32位环境涉及"ILP32"数据模型,是因为C数据类型为32位的int、long、指针。而64位环境使用不同的数据模型,此时的long和指针已为64位,故称作"LP64"数据模型。现今所有64位的类Unix平台均使用LP64数据模型,而64位Windows使用LLP64数据模型,除了指针是64位,其他基本类型都没有变。 TYPE LP32转载 2015-01-24 16:06:41 · 820 阅读 · 0 评论 -
linux setitimer
setitimer()为Linux的API,并非C语言的Standard Library,setitimer()有两个功能,一是指定一段时间后,才执行某个function,二是每间格一段时间就执行某个function,以下程序demo如何使用setitimer()。 Synopsis : #include <sys/time.h> ...转载 2014-12-31 10:29:57 · 496 阅读 · 0 评论 -
localtime 和 localtime_r
上程序:nclude 2.#include 3.#include 4.#include 5. 6.using namespace std; 7. 8.int main(int argc, char *argv[]) 9.{ 10. time_t tNow =time(NULL); 11. time_t tEnd = tNow + 18转载 2014-12-29 15:29:05 · 366 阅读 · 0 评论 -
stat,string,iconv,socket,sigprocmask,pthread_sigmask
stat,fstat,lstat: int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); int lstat(const char *path, struct stat *buf);struct stat {原创 2015-01-14 10:43:58 · 391 阅读 · 0 评论 -
重定向
标准输入,输出和错误---------------------------------文件文件 描述符---------------------------------输入文件—标准输入 0输出文件—标准输出 1错误输出文件—标准错误 2---------------------------------转载 2015-01-14 12:32:27 · 327 阅读 · 0 评论 -
openlogsyslog和closelog函数
openlog、syslog和closelog函数 介绍: Unix类操作系统上,syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一的存储,或者解析其中的内容做相应的处理。常见的应用场景是网络管理工具、安全...转载 2014-12-22 19:29:48 · 517 阅读 · 0 评论 -
linux write函数是否原子操作
linux命令是对Linux系统进行管理的命令。本文介绍的关于linux命令中write调用的原子性的详细描述,具体内容如下所述。UNIX环境高级编程中关于原子操作的介绍,其中有一种情形是在文件尾端添加数据。文中说,如果多个进程都需要将数据添加到某一文件,那么为了保证定位和写数据这两步是一个原子操作,需要在打开文件时设置O_APPEND标志,看到这里我们就会想,虽然保证了定位和写数转载 2015-01-08 14:35:34 · 2994 阅读 · 2 评论 -
GDB查看内存命令(x命令)
GDB查看内存命令(x命令)可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示:x/ n、f、u是可选的参数。n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。f 表示显示的格式,参见上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。u 表示从当前地址往后转载 2015-11-04 15:18:36 · 737 阅读 · 0 评论 -
valgrind使用
一 valgrind是什么?Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构转载 2016-06-03 11:55:04 · 400 阅读 · 0 评论 -
查看Linux系统版本命令
uname -a-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称 内核版本号意义 在linux下有一个目录,即/usr/src/kernels/目录,下面记载着一个linux系统的内核文件,例如:2.6.18-164.el5-x86_64、2.6.18-8.el5-x86_64和2.6.18-194....原创 2016-11-24 11:37:24 · 224 阅读 · 0 评论 -
sysstat性能监控工具
今天,我们将会通过一些有趣的实例来学习mpstat, pidstat, iostat和sar等工具,这些工具可以帮组我们找出系统中的问题。这些工具都包含了不同的选项,这意味着你可以根据不同的工作使用不同的选项,或者根据你的需求来自定义脚本。我们都知道,系统管理员都会有点懒,他们经常去寻找一些更简单的方法来完成他们的工作。mpstat – 处理器统计信息1.不带任何参数的使用mpst转载 2016-12-12 14:44:23 · 388 阅读 · 0 评论 -
/proc下的cpuinfo
最近在研究Linux系统负载的时候,接触到一些关于CPU信息查看的知识,和大家分享一下。通过对/proc/cpuinfo文件中的参数的分析,也学到了不少东西。在linux操作系统中,CPU的信息在启动的过程中被装载到虚拟目录/proc下的cpuinfo文件中,我们可以通过 cat /proc/cpuinfo 查看一下:上图是本人电脑的CPU信息,下面我们转载 2016-12-12 11:56:32 · 314 阅读 · 0 评论 -
linux防火墙
通过本教程操作,请确认您能使用linux本机。如果您使用的是ssh远程,而又不能直接操作本机,那么建议您慎重,慎重,再慎重!通过iptables我们可以为我们的Linux服务器配置有动态的防火墙,能够指定并记住为发送或接收信息包所建立的连接的状态,是一套用来设置、维护和检查Linux内核的IP包过滤规则的命令包。iptables定义规则的方式比较复杂,本文对Linux防火墙Iptables转载 2016-12-02 21:24:29 · 400 阅读 · 0 评论 -
limits.conf,HISTFILESIZE与HISTSIZE
limits.conf 配置limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会话。 limits.conf的格式如下:username|@groupname type resource limitusername|@grou原创 2016-12-02 21:23:52 · 1616 阅读 · 0 评论 -
dos2unix
我使用过的Linux命令之dos2unix - 将DOS格式文本文件转换成UNIX格式用途说明dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进转载 2016-12-01 16:32:13 · 415 阅读 · 0 评论 -
/var/lib/yum/yumdb
YumDBSince yum 3.2.26 yum has started storing additional information about installed packages in a location outside of the rpmdatabase. None of the information stored there is critical to perfor转载 2016-11-28 20:20:15 · 2685 阅读 · 0 评论 -
2>&1
在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是: 0: Standard Input (STDIN) 1: Standard Output (STDOUT) 2: Standard Error Output (STDERR) 在标准情况下, 这些FD分别跟如下设备关联: stdin(0): keyboard转载 2016-11-04 15:00:53 · 270 阅读 · 0 评论 -
rsync 使用
rsync(remote sync)是类unix系统下的数据镜像备份工具。它可以镜像保存整个目录树和文件系统;可以很容易做到保持原来文件的权限、时间、软硬链接等等;无须特殊权限即可安装;具有优化的流程,文件传输效率高;可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;支持匿名传输,以方便进行网站镜像。下载安装(http://rsync.samba.org转载 2016-06-14 17:23:11 · 325 阅读 · 0 评论