Linux
文章平均质量分 84
_宇宙浪子_
与其遥望远方,不如说走就走~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux工具进阶 - 性能优化
可以在一段时间内,多执行几次pstack,若发现代码栈总是停在同一个位置,那个位置就需要重点关注,很可能就是出问题的地方;除了上面介绍的工具,还有一些比较全面的性能分析工具,比如sar(Linux系统上默认不安装,需要手动安装下);性能优化的核心是找出系统的瓶颈点,问题找到了,优化的工作也就完成了大半;进一步的监视内存使用情况,可使用vmstat工具,实时动态监视操作系统的内存和虚拟内存的动态变化。系统响应变慢,首先得定位大致的问题出在哪里,是IO瓶颈、CPU瓶颈、内存瓶颈还是程序导致的系统问题;转载 2023-04-12 17:02:17 · 310 阅读 · 0 评论 -
共享内存映射之mmap()函数详解
本文共享内存映射之mmap()函数详解 共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据: 一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时,并不总是读写少量数据后就解除转载 2014-10-05 20:29:11 · 12296 阅读 · 0 评论 -
Linux中brk(),sbrk(),mmap(),malloc(),calloc()的异同
Linux中brk(),sbrk(),mmap(),malloc(),calloc()的异同 brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的: 每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从这一块分配转载 2014-10-05 19:12:18 · 602 阅读 · 0 评论 -
linux下更改共享内存的最大值
System V IPC 参数名字描述合理取值SHMMAX最大共享内存段尺寸(字节)最少若干兆(见文本)SHMMIN最小共享内存段尺寸(字节)1SHMALL可用共享内存的总数量(字节或者页面)如果是字节,就和 SHMMAX 一样;如果是页面,ceil(SHMMAX/PAGE_SIZE)S转载 2014-10-05 18:45:52 · 2197 阅读 · 0 评论 -
Linux sed 命令详解
sed命令详解转载:http://blog.chinaunix.net/u/22677/showart_1076318.html 1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一转载 2014-10-05 18:33:03 · 451 阅读 · 0 评论 -
linux后台开发具备能力集锦
Linux后台开发应该具备技能一、linux和os:1、命令:netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验2、cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握3、awk sed需掌握4、共享内存的转载 2014-10-05 16:42:26 · 584 阅读 · 0 评论 -
epoll机制:epoll_create、epoll_ctl、epoll_wait、close
在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define__FD_S转载 2014-10-05 15:56:53 · 667 阅读 · 0 评论 -
posix多线程有感--线程高级编程(条件变量)
1.初始化条件变量pthread_cond_init[cpp] view plaincopyprint?int pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *cattr); 返回值:函数成功返回0;任何其他返回值都表示错误初始化一个条件变量。当参数c转载 2014-11-03 17:17:30 · 497 阅读 · 0 评论 -
gcc常用参数及环境变量
gcc最最常用的 几个选项做一个简要的说明 gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn...] [-pedantic] [-Idir...] [-Ldir...] [-Dmacro[=defn]...] [-Um转载 2014-10-15 14:30:53 · 724 阅读 · 0 评论 -
linux使用读写锁pthread_rwlock_t
使用读写锁配置读写锁的属性之后,即可初始化读写锁。以下函数用于初始化或销毁读写锁、锁定或解除锁定读写锁或尝试锁定读写锁。下表列出了本节中讨论的用来处理读写锁的函数。表 4–9 处理读写锁的例程操作相关函数说明初始化读写锁pthread_rwlock_init 语法读取转载 2014-11-17 17:22:58 · 500 阅读 · 0 评论 -
linux的同步,异步,阻塞,非阻塞
linux中关于IO操作有同步,异步,阻塞,非阻塞几种模式,这几种模式可能有些同学会有点迷糊,把同步和阻塞混为一起,把异步和非阻塞混一起.其实这四种模式的关系是:阻塞和非阻塞都属于同步.1. 基础知识 我们都知道linux将所有的设备都看作文件,那么我们对linux的设备操作都可以看做是文件操作.我们打开一个文件的时候内核会返回给我们一个文件描述符,那么我们对文件的操转载 2014-09-30 15:47:44 · 482 阅读 · 0 评论 -
linux awk命令详解
linux awk命令详解简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称转载 2014-09-30 10:39:35 · 404 阅读 · 0 评论 -
linux core dump学习
1. core dump是什么?core dump又叫核心转储,当操作系统收到特定的signal时,会生成某个进程的core dump文件。这样程序员可以根据已经生成的core dump文件来debug查错。gdb -c core_file ./mainbt这样就能看到函数的调用栈了,不过很多时候这个调用栈信息对debug来讲可能是没用的。2. 如何确认linu转载 2014-09-30 10:25:24 · 855 阅读 · 0 评论 -
Linux下getsockopt/setsockopt 函数说明
Linux下getsockopt/setsockopt 函数说明Linux下getsockopt/setsockopt 函数说明【 getsockopt/setsockopt系统调用】 功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名转载 2014-11-12 14:27:38 · 536 阅读 · 0 评论 -
Linux IO多路复用之epoll网络编程(含源码)
Linux IO多路复用之epoll网络编程(含源码)前言本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下:客户端从标准输入读入一行,发送到服务端服务端从网络读取一行,然后输出到客户端客户端收到服务端的响应,输出这一行到标准输出 服务端代码如下转载 2014-11-12 12:29:52 · 677 阅读 · 0 评论 -
Linux IO实时监控iostat命令详解
Linux IO实时监控iostat命令详解简介iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 语法iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [转载 2014-11-12 12:11:11 · 487 阅读 · 0 评论 -
Linux fcntl函数详解
Linux fcntl函数详解功能描述:根据文件描述词来操作文件的特性。#include #include int fcntl(int fd, int cmd);int fcntl(int fd, int cmd, long arg);int fcntl(int fd, int cmd, struct flock *lock);[描述]fcntl()针对(文转载 2014-11-21 13:57:24 · 693 阅读 · 0 评论 -
shell expect spawn、linux expect 用法小记
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄、收藏。可是为什么要这么写却不知其然。本文用一个最短的例子说明脚本的原理。 脚本代码如下: ############################################## #!/usr/bin/expect set timeout 30 spawn转载 2014-11-24 10:17:32 · 776 阅读 · 0 评论 -
linux 系统监控、诊断工具之 IO wait
1、问题:最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端、本机都没问题,但是没想到上了第二份日志之后,问题来了:集群中的某台机器 top 看到负载巨高,集群中的机器硬件配置一样,部署的软件都一样,却单单这一台负载有问题,初步猜测可能硬件有问题了。同时,我们还需要把负载有异常的罪魁祸首揪出来,到时候从软件、硬件层面分别寻找解决方案。2、排查:从 t...转载 2019-08-28 15:27:50 · 319 阅读 · 0 评论 -
Linux内核参数之arp_ignore和arp_announce
转自:https://www.cnblogs.com/lipengxiang2009/p/7451050.html一、arp_ignore和arp_announce介绍 arp_ignore和arp_announce参数都和ARP协议相关,主要用于控制系统返回arp响应和发送arp请求时的动作。这两个参数很重要,特别是在LVS的DR场景下,它们的配置直接影响到DR转发是否正常。首先看...转载 2019-06-20 16:47:05 · 681 阅读 · 0 评论 -
五种IO模型及设计模式
转自:http://www.coc88.com/h-nd-141.html在《Unix网络编程》一书中提到了五种IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。下面就分别来介绍一下这5种IO模型的异同。1.阻塞IO模型 最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。 当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪...转载 2019-06-10 16:30:01 · 6264 阅读 · 1 评论 -
Linux 使用strace命令查找进程卡死原因
转自:https://blog.youkuaiyun.com/peng314899581/article/details/79064616最近遇到进程卡死的情况,但是自己调试的过程中并不一定能复现,都是需要运行一段时间某些条件下才会触发,对于这种运行着不能破坏现场的情况,我们可以使用gdb -p和strace -p来跟踪。 首先我们用ps auxf查看我们的进程执行到了哪一步: 可以看到执行到了d...转载 2019-06-12 20:22:48 · 5635 阅读 · 0 评论 -
linux进程-线程-协程上下文环境的切换与实现
转自:https://blog.youkuaiyun.com/runner668/article/details/80512664一:进程-线程-协程简介进程和线程的主要区别是:进程独享地址空间和资源,线程则共享地址空间和资源,多线程就是多栈。1、进程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进...转载 2018-12-12 19:55:02 · 541 阅读 · 0 评论 -
rsync使用介绍
转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0[rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync]一、什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,转载 2018-01-26 17:56:00 · 598 阅读 · 0 评论 -
supervisor安装配置与使用
转自:http://blog.youkuaiyun.com/zyz511919766/article/details/43967793supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。组成部分supervisord:服务守护进程supervisorctl:命令行客户端Web Server:提供与sup转载 2016-03-25 13:14:16 · 1252 阅读 · 0 评论 -
ssh批量登录并执行命令(python实现)
局域网内有一百多台电脑,全部都是linux操作系统,所有电脑配置相同,系统完全相同(包括用户名和密码),ip地址是自动分配的。现在有个任务是在这些电脑上执行某些命令,者说进行某些操作,比如安装某些软件,拷贝某些文件,批量关机等。如果一台一台得手工去操作,费时又费力,如果要进行多个操作就更麻烦啦。 或许你会想到网络同传, 网络同传是什么?就是在一台电脑上把电脑装好,配置好,然后利用某些转载 2016-03-03 10:49:07 · 1632 阅读 · 0 评论 -
Linux查看系统开机时间
作者:潇湘隐者出处:http://www.cnblogs.com/kerrycode/有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间; 有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间; 下面总结一些查看Linux开机关机时间的方法(非常全面)1: who 命令查看 who -b 查看最后一次系统启动的时间。转载 2016-03-03 09:56:26 · 619 阅读 · 0 评论 -
20条Linux命令面试问答
版权声明:本文是Linux中国翻译,已按转载要求注明信息。原文:http://www.linuxtechi.com/20-linux-commands-interview-questions-answers/作者: Pradeep Kumar译文:LCTT http://linux.cn/article-4790-1.html译者: ZTinoZ转载 2016-01-27 13:45:39 · 419 阅读 · 0 评论 -
Linux strace命令
Linux strace命令简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ub转载 2014-11-12 10:10:54 · 423 阅读 · 0 评论 -
gcc编译参数-fPIC的一些问题
转自:http://blog.sina.com.cn/s/blog_54f82cc201011op1.htmlppc_85xx-gcc -shared -fPIC liberr.c -o liberr.so-fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code), 则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可转载 2015-12-01 10:57:47 · 717 阅读 · 0 评论 -
linux 软连接和硬链接的区别
要说明这个问题,先说明下liunx下文件和目录的本质。事实上,在liunx上,目录也是文件的一种,它是储存了一张表的文件。例如有一个叫程序的文件夹,里面有两个文件1和2.在那张目录表内。它的内容是这样的名称 节点1 3382 228那么什么是节点呢?c语言我们都学过,我们简单地把节点号理解成一个数组的下标,把内存看成一个大数组,每个文件都可以看成一个数组中的一个元素,而知道了节转载 2014-12-07 21:36:27 · 724 阅读 · 0 评论 -
通过 Shell 和 Expect 脚本实现对 IBM 刀片服务器高级管理模块固件的大量升级
刀片服务器已经在各行各业得到了大量应用,如何快速维护升级刀片服务器的高级管理模块(AMM)成为一个比较棘手的问题。现场工程师在客户现场经常会遇到,面对上百个 AMM 的固件升级工作,手头上没有一个非常方便的工具或者脚本,而不得不手动完成 AMM 固件的升级,耗费大量时间和人力。本文主要介绍一种可以实现同时升级大量 AMM 固件的方法和脚本程序。0 评论:田 晨, 技术支转载 2014-11-24 13:13:03 · 1204 阅读 · 0 评论 -
Shell脚本学习之expect命令
Shell脚本学习之expect命令 我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能。而expect就使用来实现这种功能的工具。 expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。e转载 2014-11-24 10:41:07 · 3245 阅读 · 0 评论 -
Shell 和 Expect 脚本的自动登录运行
Shell 和 Expect 脚本的自动登录运行先转2篇文章http://www.ibm.com/developerworks/cn/linux/l-cn-firmupgrade/ http://www.ibm.com/developerworks/cn/aix/library/0909_jinjh_unixlogin/ 编写 Shell 和 Ex转载 2014-11-24 10:31:39 · 748 阅读 · 0 评论 -
Linux进程实时IO监控iotop命令详解
Linux进程实时IO监控iotop命令详解介绍Linux下的IO统计工具如iostat, nmon等大多数是只能统计到per设备的读写情况, 如果你想知道每个进程是如何使用IO的就比较麻烦.iotop 是一个用来监视磁盘 I/O 使用状况的 top 类工具。iotop 具有与 top 相似的 UI,其中包括 PID、用户、I/O、进程等相关信息。 实例直接运行就好转载 2014-11-12 12:09:44 · 1174 阅读 · 0 评论 -
GDB多进程调试(转)
GDB多进程调试(转)GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强大。对于较为复杂的系统,比如多进程系统,如何使用 GDB 调试呢?考虑下面这个三进程系统:进程 Proc2 是 Proc1 的子进程,Proc3 又是 Proc2 的子进程。如何使用 GDB 调试 proc2 或者 proc3 呢?实际上,GDB 没有对多进程程序调试提供直接支持转载 2014-11-12 11:01:02 · 672 阅读 · 0 评论 -
你需要知道的 16 个 Linux 服务器监控命令
如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员。有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 GUI 的程转载 2014-11-12 10:05:21 · 551 阅读 · 0 评论 -
epoll原理与应用详解
本文转自:http://blog.youkuaiyun.com/tianmohust/article/details/8502352epoll简介epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目转载 2014-10-08 16:35:16 · 728 阅读 · 0 评论 -
Linux异步机制
本文转自:http://blog.youkuaiyun.com/u012491514/article/details/26276171还没有细细整理。什么是异步通知:很简单,一旦设备准备好,就主动通知应用程序,这种情况下应用程序就不需要查询设备状态, 特像硬件上常提的“中断的概念”。 比较准确的说法其实应该叫做“信号驱动的异步I/O”,信号是在软件层次上对中断机制的一种模拟。阻塞I/O意味转载 2014-10-08 17:01:39 · 588 阅读 · 0 评论 -
详述socket编程之select()和poll()函数
select()函数和poll()函数均是主要用来处理多路I/O复用的情况。比如一个服务器既想等待输入终端到来,又想等待若干个套接字有客户请求到达,这时候就需要借助select或者poll函数了。(一)select()函数原型如下:1 int select(int fdsp1, fd_set *readfds, fd_set *writefds, fd_set *err转载 2014-10-08 13:07:40 · 596 阅读 · 0 评论
分享