linux服务器

linux 调试常用命令

大兔子大兔子 提交于 2020-04-06 13:25:47
top 参数 1 ,查看多核cpu 也可用 mpstat -P ALL pstate PID 查看进程堆栈 pmap -x PID 查看进程 内存段 ldd XXX.so 查看 .so 的link 信息 linux 查看线程 方法一:PS 在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为<pid>的进程创建的所有线程。 1.$ ps -T -p <pid> 2 “SID”栏表示线程ID,而“CMD”栏则显示了线程名称。 方法二: Top top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。 1.$ top -H 2.要让top输出某个特定进程<pid>并检查该进程内运行的线程状况: $ top -H -p <pid> Linux系统下,大多数的性能监测工具保存在/proc目录下。这里我们将Linux AS 和 SUSE LINUX EnterpriseServer中的命令行及图形方式下的性能监测工具做概括性介绍。这些工具有些在系统工具盘里,有些可以从网上下载。sar,iostat,和pstat这三个工具在distributionCD里,也可以从网上下载,网址是 http://perso.wanadoo.fr

Linux查看网络流量

[亡魂溺海] 提交于 2020-04-06 12:00:56
文章原文: Linux查看网络流量 作为一个非职业运维,不时需要查看Linux服务器上的网络流量状况。本文介绍几个常用的Linux查看网络流量命令,并简要介绍其用法。部分命令系统已经内置,某些命令则需要从软件仓库或者自行编译安装,本文以CentOS系统为例介绍软件安装方法。 查看总流量 ip ip 命令来自 iproute2util 包,是查看、配置网络/路由的工具。作为 ifconfig 的替代品, ip 命令功能更强大,用法更语义化。 ip 命令在大多数系统上都已经默认安装,也可通过 yum install -y iproute 安装。 ip 的 " -s -h " 参数查看各网卡的总流量,下图是 ip -s -h link 的输出结果: nload nload 命令可以查看各个网络设备的当前网络速率,也会展示流经设备的总流量。 nload 来自 EPEL 软件库,CentOS安装命令为: yum install -y epel-release && yum install -y nload 。查看eth0网卡流量 nload eth0 命令输出如下: PS: netstat -s 和 ifconfig -s 都可以查看收发的总包( netstat 分协议给出),但不会给出字节数据。 查看实时网速网速 nload 命令可以输出当前网速,上面已经介绍过,本节不再赘述。 dstat

Linux终端监控工具之dstat

人盡茶涼 提交于 2020-04-06 08:42:37
1、安装 yum install dstat 2、示例 1)直接跟数字,表示#秒收集一次数据,默认为一秒;dstat 5表示5秒更新一次 这是默认输出显示的信息: CPU状态: CPU的使用率。这项报告更有趣的部分是显示了用户,系统和空闲部分,这更好地分析了CPU当前的使用状况。如果你看到"wait"一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处在"waits"时,那是因为它正在等待I/O设备(例如内存,磁盘或者网络)的响应而且还没有收到。 磁盘统计: 磁盘的读写操作,这一栏显示磁盘的读、写总数。 网络统计: 网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。 分页统计: 系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,或者说内存非常分散,大多数情况下你都希望看到page in(换入)和page out(换出)的值是0 0。 系统统计: 这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。 默认情况下,dstat每秒都会刷新数据。如果想退出dstat,你可以按"CTRL-C"键。 需要注意的是报告的第一行

什么叫linux

爱⌒轻易说出口 提交于 2020-04-06 05:01:33
第一章 明白运维是干什么的? 1.数据不能丢失 2.网站优化 3.提升用户体验 服务器的类型: 1.)机架式服务器(抽屉式) 2.)刀片式服务器 3.)塔式服务器 服务器尺寸: 厚度(高度 1u=4.45.cm ) 服务器的厂商: DELL(戴尔)(国内主要用的服务器) 联想 HP IBM(牛逼的公司一般用它,太贵了) 浪潮 dell服务器为例 时间 1U 2U 2010年以前 1850,1950 2850,2950 2010-2013年 R410,R610 R710(已停产) 2014-2016年 R420/R430/R620/R630 R720/R730 几代服务器怎么看的,看第2位数字,R410 他就是11代. cpu处理器: intel xeon 至强系列(金,银,铜) 服务器 cpu的颗数 2颗 2路 iu和2U都是(1u还有一个1颗1路) 线程就是1颗cpu=2线程 最长用 2U服务器 最多2路 CPU 与 核心的关系 1个CPU相当于一个房间,核心可以表示为里面有多少工人。 防止服务断电: 1.双电源(AB线路) 2.ups(蓄电池组) 3.柴油发电机+油管 4.附近的加油站签订紧急供油协议. 内存: cpu和磁盘之间的缓冲设备,是临时存储,断电数据丢失. 程序 进程 守护进程: 视频 .avi 磁盘 程序代码 软件程序 QQ 播放视频 进程 运行起来的程序 一直播放

Linux IO模型漫谈(1)

南楼画角 提交于 2020-04-06 04:09:19
基础知识 Linux将所有外部设备都看做一个文件来进行操作。因此,linux对所有外部设备的操作都可以看做是文件的操作。文件的操作当然需要有个标示描述它,这就是文件描述符(file descriptor)。 linux的IO操作如何形象理解呢? 我们说网络socket的read()是一个IO操作命令,具体流程是这样的: 应用程序调用read命令,通知内核需要做读取数据操作 内核创建一个文件描述符 内核从物理层收到读数据的命令,从网络中获取数据包 数据包传递到TCP/IP层,解析数据包的头 内核将数据包缓存在文件描述符的读缓存区(接受缓存区)中,注意这里的读缓存区是在内核中的 当文件描述符读缓存区数据字节数大于应用程序定义的低水位的时候(read的一个参数),此时文件描述符处于读就绪的状态 将读缓存区中的数据复制到应用程序(用户区)返回 这里需要说明的是 1 每个文件描述符都有自己的读缓冲区和写缓冲区,读缓冲区对应的是read操作,写缓冲区对应的就是write操作了 2 读缓冲区和写缓冲区都是在内核区中 IO模型 现有的linux IO模型有5种: 阻塞式IO模型,非阻塞式IO模型,IO复用模型,信号驱动式IO模型,异步IO模型 经常弄不清楚的就是阻塞,非阻塞,异步,同步 说明一下 上图给出的同步异步标准是:数据描述符缓存是由谁来进行读取的?由用户程序读取,则判断为同步;由内核推送

linux下安装nginx

人走茶凉 提交于 2020-04-06 03:26:07
服务器版本:CentOS7 cd / 回到根目录 1、安装gcc yum install gcc-c++ 2、安装pcre pcre-devel yum install -y pcre pcre-devel 3、安装zlib yum install -y zlib zlib-devel 4、安装Open SSL yum install -y openssl openssl-devel 5、进入local文件夹 cd /usr/local 6、mkdir nginx 7、下载nginx wget http://nginx.org/download/nginx-1.17.9.tar.gz 8、解压nginx tar -zxvf nginx-1.17.9.tar.gz 9、cd nginx-1.17.9 10、./configure 11、make 12、make install 来源: oschina 链接: https://my.oschina.net/u/3358860/blog/3218037

Linux常用命令大全

隐身守侯 提交于 2020-04-06 02:06:35
Linux常用命令大全(非常全!!!) 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统 init 0 关闭系统 telinit 0 关闭系统 shutdown -h hours

Linux终端下 dstat 监控工具

家住魔仙堡 提交于 2020-04-06 00:20:28
dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。 dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。 dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是,它可以让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。 Dstat的默认输出是专门为人们实时查看而设计的,不过你也可以将详细信息通过CSV输出到一个文件,并导入到Gnumeric或者Excel生成表格中。 特性 结合了vmstat,iostat,ifstat,netstat以及更多的信息 实时显示统计情况 在分析和排障时可以通过启用监控项并排序 模块化设计 使用python编写的,更方便扩展现有的工作任务 容易扩展和添加你的计数器(请为此做出贡献) 包含的许多扩展插件充分说明了增加新的监控项目是很方便的 可以分组统计块设备/网络设备,并给出总数 可以显示每台设备的当前状态 极准确的时间精度,即便是系统负荷较高也不会延迟显示

Linux学习(一)--基本概念

蓝咒 提交于 2020-04-05 23:38:58
一、Linux概述 Linux是一款全球性的免费的开源的操作系统平台,其特点是实现了多任务多用户处理,主要是依赖内核kernel shell,且占用资源少 (最小配置只要4Mb内存就能运行)。 百度百科概述 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。 它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。 Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。 Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。 严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核, 并且使用GNU工程各种工具和数据库的操作系统。 1.1由来 类UNIX的,与UNIX都是服务器系统。 1.2与UNIX的区别 Linux是免费开源的,UNIX是商业应用性软件操作系统,UNIX是与硬件进行捆绑销售的,UNIX是不开源的(部分开源,但是核心代码是不开源的) 1.3.版本

Linux安装Gradle

六眼飞鱼酱① 提交于 2020-04-05 23:35:42
Linux安装Gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。在github上,gradle项目很多,有的是gradel跟maven构建一块儿使用,可以看出,gradle有一种逐渐替代maven的架势。 下面就描述一下如何在linux(centos)服务器环境下安装配置gradle环境。 1.在http://www.gradle.org/downloads页面,下载最新版的gradle软件包,撰写这篇文档的时候是2.6版。 2.下载了gradle-2.6-all.zip或者gradle-2.6-bin.zip文件之后,将之解压在/usr/local目录下 $cd /data/ $sudo unzip gradle-2.6-all.zip . $mv gradle-2.6-all /usr/local/gradle 3.然后设置运行环境 $sudo vi /etc/profile 在文件中增加GRADLE_HOME输出路径,并且修订PATH设置如下 export GRADLE_HOME=/usr/local/gradle export PATH=$GRADLE_HOME/bin:$PATH 如果你不希望所有用户都使用这个配置,那么可以单独为自己的账号配置gradle环境, 在自己账号的HOME目录下