您的位置:首页 > 运维架构 > Linux

linux常用命令

2016-04-16 16:25 393 查看
用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况...

还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。

top:

主要参数

d:指定更新的间隔,以秒计算。

q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

c:显示进程完整的路径与名称。

S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

s:安全模式。

i:不显示任何闲置(Idle)或无用(Zombie)的行程。

n:显示更新的次数,完成后将会退出to

显示参数:

PID(Process ID):进程标示号。

USER:进程所有者的用户名。

PR:进程的优先级别。

NI:进程的优先级别数值。

VIRT:进程占用的虚拟内存值。

RES:进程占用的物理内存值。

SHR:进程使用的共享内存值。

S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

%CPU:该进程占用的CPU使用率。

%MEM:该进程占用的物理内存和总内存的百分比。

TIME+:该进程启动后占用的总的CPU时间。

Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

<</span>空格>:立刻刷新。

P:根据CPU使用大小进行排序。

T:根据时间、累计时间排序。

q:退出top命令。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存大小进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

free

1.作用

free命令用来显示内存的使用情况,使用权限是所有用户。

2.格式

free [-b-k-m] [-o]
[-s delay] [-t] [-V]

3.主要参数

-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。

-s delay:显示每隔多少秒数来显示一次内存使用情况。

-t:显示内存总和列。

-o:不显示缓冲区调节列。

uptime

18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21

现在的时间

系统开机运转到现在经过的时间

连线的使用者数量

最近一分钟,五分钟和十五分钟的系统负载

参数: -V 显示版本资讯。

vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

r b swpd free buff cache si so bi bo in cs us sy id wa

0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70

1 观察磁盘活动情况

磁盘活动情况主要从以下几个指标了解:

bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。

bo:表示每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。

wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动阻碍cpu的情况越严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要进行性能调整了。

2 观察cpu活动情况

vmstat比top更能反映出cpu的使用情况:

us:用户程序使用cpu的时间比例。这个数字越大,表示用户进程越繁忙。

sy: 系统调用使用cpu的时间比例。注意,NFS由于是在内核里面运行的,所以NFS活动所占用的cpu时间反映在sy里面。这个数字经常很大的话,就需要注
意是否某个内核进程,比如NFS任务比较繁重。如果us和sy同时都比较大的话,就需要考虑将某些用户程序分离到另外的服务器上面,以免互相影响。

id:cpu空闲的时间比例。

wa:cpu等待未决的磁盘IO的时间比例。

iostat

用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量

参数:

-c 只显示CPU行

-d 显示磁盘行

-k 以千字节为单位显示磁盘输出

-t 在输出中包括时间戳

-x 在输出中包括扩展的磁盘指标

avg-cpu: %user %nice %sys %iowait %idle

20.25 0.18 2.61 76.39 0.57

%iowait 等待本地I/O时CPU空闲时间的百分比

%idle 未等待本地I/O时CPU空闲时间的百分比

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

hda 9.86 284.34 84.48 685407 2036

每秒传输数(tps)、每秒512字节块读取数(Blk_read/s)、每秒512字节块写入数(Blk_wrtn/s)和512字节块读取(Blk_read)和写入(Blk_wrtn)的总数量。

系统

# uname -a # 查看内核/操作系统/CPU信息

# head -n 1 /etc/issue # 查看操作系统版本

# cat /proc/cpuinfo # 查看CPU信息

# hostname # 查看计算机名

# lspci -tv # 列出所有PCI设备

# lsusb -tv # 列出所有USB设备

# lsmod # 列出加载的内核模块

# env # 查看环境变量

资源

# free -m # 查看内存使用量和交换区使用量

# df -h # 查看各分区使用情况

# du -sh # 查看指定目录的大小

# grep MemTotal /proc/meminfo # 查看内存总量

# grep MemFree /proc/meminfo # 查看空闲内存量

# uptime # 查看系统运行时间、用户数、负载

# cat /proc/loadavg # 查看系统负载

磁盘和分区

# mount | column -t # 查看挂接的分区状态

# fdisk -l # 查看所有分区

# swapon -s # 查看所有交换分区

# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

# dmesg | grep IDE # 查看启动时IDE设备检测状况

网络

# ifconfig # 查看所有网络接口的属性

# iptables -L # 查看防火墙设置

# route -n # 查看路由表

# netstat -lntp # 查看所有监听端口

# netstat -antp # 查看所有已经建立的连接

# netstat -s # 查看网络统计信息

进程

# ps -ef # 查看所有进程

# top # 实时显示进程状态

用户

# w # 查看活动用户

# id # 查看指定用户信息

# last # 查看用户登录日志

# cut -d: -f1 /etc/passwd # 查看系统所有用户

# cut -d: -f1 /etc/group # 查看系统所有组

# crontab -l # 查看当前用户的计划任务

服务

# chkconfig --list # 列出所有系统服务

# chkconfig --list | grep on # 列出所有启动的系统服务

程序

# rpm -qa # 查看所有安装的软件包

几种常见的服务的端口号(ftp21 ssh 22 telnet23 snmp161 pop3 (110) IMAP rsync873等)

Route命令的正确用法

使用 Route 命令行工具查看并编辑计算机的 IP 路由表。Route 命令和语法如下所示:

route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]

-f 清除所有网关入口的路由表。

-p 与 add 命令一起使用时使路由具有永久性。

若要向带有 255.255.0.0 子网掩码和 10.27.0.1 下一跃点地址的 10.41.0.0 目标中添加一个永久路由,请键入:

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1

若要删除到带有 255.255.0.0 子网掩码的10.41.0.0 目标的路由,请键入:

route delete 10.41.0.0 mask 255.255.0.0

永久自动挂载

vim /etc/fstab

设备 挂载点 类型 挂载参数 是否备份 是否检测

xxx.iso /source iso9660 ro.relatime 0 0

Linux开机流程

一、概念

1、boot loader: 领导装载程序,常用的有(Grub, spfdisk)

2、Grub: 是一个多操作系统启动管理器,开机时领导不同系统,windows linux等

二、开机的流程

1、加载BIOS(basic input output system)的硬件信息,并进行自我测试

2、读取并执行第一个开机装置内MBR(主引导记录扇区)的boot loader即grub
spfdisk 等程序!

3、 grub(boot loader)就是一个多操作系统启动管理器,运行之后就是选择系统(boot
loader --grup的功能之后在讲)

4、依据 boot loader 的设定加载kernel(也就是在第3步这里选择的系统的内核),加载进来的kernel在存储器中解压并执行,侦测硬件信息加载驱动程序

5、硬件驱动成功之后,kernel会主动呼叫第一个用户级的程序,init, init 会取得运行级别(runlevel) 的信息(run
level 信息保存在/etc/inittab档案中)

6、init 执行/etc/rc.d/rc.sysinit 档案 来准备软件执行的环境(如 网络 ,时区等信息)具体信息可以vim
/etc/rc.d/rc.sysinit 去查看

7、init 执行run-level 的各个服务即启动和这个run-level 对应的服务

8、 执行 /etc/rc.d/rc.local 档案 (这是使用者自订开机启动程序,把需要开机自动运行的程序写在这个脚本里)

9、 init 执行终端机仿真程序 mingtty 来启动 login 程序,最后等待用户登录

五、第一个用户级程序init ,及配置文件 /etc/inittab 以及运行等级 run level

1、在核心加载完毕,进行硬件信息这测与驱动程序加载之后,此时你的主机硬件应该已经准备就绪了,此时核心会主动的呼叫第一个用户级程序,那就是 /sbin/init (init 被称为所有进行的祖进程,也是第一个启动的用户级进程)

2、 /sbin/ init 最主要的功能就是准备软件执行的环境,包括系统的主机名,网络设定,语系设置,系统文件格式及其他服务的启动, 而所有的动作都会透过 init 的配置文件及 /etc/inittab 来规划。

3、 /etc/inittab 中配置了系统的运行级别 , 这个档案的最下面 有 id : n : initdefault 这就是设置的系统运行级别

4、为何要设置系统的运行级别,这个有什么不同: linux藉由 设定的 run level 来规划,系统使用不同的服务来启动,让linux 的使用环境不同,按照有无网络与有无 xwindow可分为 7 个等级

5、 run level 运行级别

(0)、run level 0: 关机

(1) 、run level 1 : single mode 即单人维护模式,一般忘记 root的密码,系统有问题什么的使用这个模式

(2)、run level 2 : without NFS 即无NFS系统

(3)、run level 3: 完整含有网络功能的纯文本模式

(4)、run level 4: 系统保留

(5)、run level 5: xwinods 与3 是类似的只是纯文本变为窗口模式

(6)、run level 6: 重启 reboot

6、启动时执行一次的文件, /etc/rc.d/rc.sysinit 即系统的数据设定完成!

7、启动系统 服务与 启动配置文件 /etc/rc,d/rc n(你的系统级别,按照不同的级别启动不同的服务) /etc/sysconfig

8、加载核心让整个系统准备接受指令来工作,在经过/etc/rc.d/rc.sysinit 的系统模块与相关硬件信息的初始化,你的系统应该已经顺利工作了!

六、运行级别的切换

1、事实上不同的运行级别 只是加载的服务不同,,这里已 run level 3 和 run
level 5 为列: 只是他们的/etc/rc.3d 和 /etc/rc.5d 内的Sxxname 和 Kxxname 不同而已

2、先对比 /etc/rc.3d 和 /etc/rc.5d 内k 和 s开头的档案

3、在新的 run level 内多的 K 都被关闭掉

4、在新的 run level 内多的S 都被开启,而都存在的就不用管了。

ok 这样运行级别就转化过来了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: