Linux常用命令

1.赋予执行.sh命令的权限

chmod+x*.sh(单个sh文件)

sudochmod+x/usr/share/tomcat/bin/*.sh(多个个sh文件)

2.查看linux版本

cat/etc/issue

3.启动memcached

./memcached-d-m2048-uroot-p11211

关闭

kill

4.查看端口情况

#查看CLOSE_WAIT端口

netstat-an|grepCLOSE_WAIT

查看端口被什么程序占用(可能会看到类似8081的端口)

netstat-anp|grep80

查看端口

netstat-na|grep80

netstat-tpln|grep80

查看端口并释放

lsof-i:4040

killpid

重启网卡

servicenetworkrestart

5.查看memcached运行状态

stats

6.退出telnet

ctrl+]

q

8.memcached性能监控(213、214)

9.查看机器配置

9.1机器型号

dmidecode|grep"ProductName"

9.1内存

cat/proc/meminfo

9.2CPU

总核数

cat/proc/cpuinfo

[physicalid的值,相同则为同一个物理CPU]

cat/proc/cpuinfo|grepprocessor|wc-l

单C几核

cat/proc/cpuinfo|grep"cores"|uniq

9.3网卡速率

dmesg|greplink

9.4硬盘

df-h-T

10.查看操作系统

lsb_release-a

10.创建新文件

touchmysql_proxy_new.sh

10.追加filename1内容到filename2

catfilename1>>filename2

*********************************************

11.nigix相关

*********************************************

1.配置nigix和tomcat的连接

vinginx/conf/nginx.conf

2.测试nigix的配置文件是否成功

/data/soft/nginx/sbin/nginx-t

3.查看进程

ps-ef|grepnginx

4.启动

cd/data/soft/nginx/sbin/

./nginx

5.停止

kill-QUIT进程号

12.在停止tomcat的时,会由于jconsole配置的端口被占用而无法停掉。2种方式解决:

(1)使用killall-9java杀掉所有的java进程。

(2)在catalina.sh中配置CATALINA_PID=pid,这样在停止tomcat的过程中,上述被占用的端口会自动被杀掉.

13.linux下的host文件

/etc/hosts

14.查询进程号对应的程序

ps-f-p进程号

或者:

lsof|grep进程名

15.查看lvs配置

cd/etc/init.d

/etc/ha.d/ha.cf

*********************************************

16.keepalived相关

*********************************************

查看keepalived的状态

tcpdumpvrrp

tcpdumpvrrp-vv

17.查看进程ProcessName是否存在存在则返回该进程的个数,不存在则返回0

ps-ef|grepkeepalived|grep-v"grep"|wc-l

18.远程拷贝

[email protected]:/data/soft

19.查看虚拟IP挂接在哪个网卡和ip上

ipa

20.查看最后100行

tail-n100catalina.out

21.vmstat参数含义

procs:

r-->;在运行队列中等待的进程数

b-->;在等待io的进程数

w-->;可以进入运行队列但被替换的进程

memoy

swap-->;现时可用的交换内存(k表示)

free-->;空闲的内存(k表示)

pages

re--》回收的页面

mf--》非严重错误的页面

pi--》进入页面数(k表示)

po--》出页面数(k表示)

fr--》空余的页面数(k表示)

de--》提前读入的页面中的未命中数

sr--》通过时钟算法扫描的页面

disk显示每秒的磁盘操作。s表示scsi盘,0表示盘号

fault显示每秒的中断数

in--》设备中断

sy--》系统中断

cy--》cpu交换

cpu表示cpu的使用状态

cs--》用户进程使用的时间

sy--》系统进程使用的时间

id--》cpu空闲的时间

22.vmstat参数含义

FIELDDESCRIPTIONS

Procs

r:Thenumberofprocesseswaitingforruntime.如果长期大于1,说明cpu不足,需要增加cpu。

b:Thenumberofprocessesinuninterruptablesleep.在等待资源的进程数,比如正在等待I/O、或者内存交换等

w:Thenumberofprocessesswappedoutbutotherwiserunnable.

Thisfieldiscalculated,butLinuxneverdesperationswaps.

Memory

swpd:theamountofvirtualmemoryused(kB).

free:theamountofidlememory(kB).

buff:theamountofmemoryusedasbuffers(kB).

Swap

si:Amountofmemoryswappedinfromdisk(kB/s).虚拟内存的页导入(从SWAPDISK导入RAM)

so:Amountofmemoryswappedtodisk(kB/s).虚拟内存的页导出.

(从RAM到SWAPDISK)

si:由磁盘调入内存

so:由内存调入磁盘

注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,

磁盘IO和CPU资源都会被消耗。

有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,

不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),

那么不用担心,系统性能这时不会受到影响的。

IO

bi:Blockssenttoablockdevice(blocks/s).从块设备读入数据的总量(读磁盘)(每秒kb)

bo:Blocksreceivedfromablockdevice(blocks/s).块设备写入数据的总量(写磁盘)(每秒kb)

注意:随机磁盘读写的时候,这2个值越大(如超出1024k),能看到CPU在IO等待的值也会越大。

System

in:Thenumberofinterruptspersecond,includingtheclock.

cs:Thenumberofcontextswitchespersecond.

CPU

ThesearepercentagesoftotalCPUtime.

us:usertime用户进程使用的时间

sy:systemtime系统进程使用的时间

id:idletime中央处理器的空闲时间

如果r经常大于4,且id经常少于40,表示cpu的负荷很重。

如果bi,bo长期不等于0,表示物理内存容量太小。

#cpu核数

cat/proc/cpuinfo|grepprocessor|wc-l

当r值超过了CPU个数,就会出现CPU瓶颈。

唯一能够确定CPU瓶颈的还是r(运行队列)的值。

如果swpd的值不为0,但是SI,SO的值长期为0,这种情况不会影响系统性能。

wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。

cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动阻碍cpu的情况越严重,

因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要进行性能调整了。

如果pi,po长期不等于0,表示内存不足。

如果disk经常不等于0,且在b中的队列大于3,表示io性能不好。

*********************************************

22.top

*********************************************

主要参数

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

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

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

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

s:安全模式。

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

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

显示参数:

PID(ProcessID):进程标示号。

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

PR:进程的优先级别。(************)

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

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

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

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

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

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

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

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

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

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

<空格>:立刻刷新。

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

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

q:退出top命令。

m:切换显示内存信息。

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

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

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

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

23.psaux

RSS:进程实际占用物理内存大小

24.当前用户下的进程数

psux|wc-l

25.cat/proc/4668(pid)/status

26.

cat/proc/cpuinfo|grepprocessor|wc-l

27.查看磁盘

df-h

28.查看内存大小

free

free[-m|g]按MB,GB显示内存

29.查看cpu

cat/proc/cpuinfo

只看cpu核数量

grep"modelname"/proc/cpuinfo|wc-l

30.查看系统内存

cat/proc/meminfo

31.查看每个进程的情况

cat/proc/5346/status

5346是pid

32.查看负载

w

uptime

33.查看系统整体状态

top

最后一些输出信息的解释:

loadaverage:0.09,0.05,0.01

三个数分别代表不同时间段的系统平均负载(一分钟、五分钟、以及十五分钟),它们的数字当然是越小越好。

“有多少核心即为有多少负荷”法则:在多核处理中,你的系统均值不应该高于处理器核心的总数量

进程使用的内存可以用top,有3个列VIRTRESSHR,标示了进程使用的内存情况,

VIRT标识这个进程可以使用的内存总大小,包括这个进程真实使用的内存,映射过的文件,和别的进程共享的内存等.

RES标识这个这个进程真实占用内存的大小.SHR标识可以和别的进程共享的内存和库大小.

33.性能监视sar命令

sar-u输出显示CPU信息。

-u选项是sar的默认选项。该输出以百分比显示CPU的使用情况

CPU

CPU编号

%user

在用户模式中运行进程所花的时间

%nice

运行正常进程所花的时间

%system

在内核模式(系统)中运行进程所花的时间

%iowait

没有进程在该CPU上执行时,处理器等待I/O完成的时间

%idle

没有进程在该CPU上执行的时间

sar510sar以5秒钟间隔取得10个样本

sar-u-pALL55分cup显示

sar-n{DEV|EDEV|NFS|NFSD|SOCK|ALL}

sar提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV|EDEV|NFS|NFSD|SOCK|ALL。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。

sar-nDEV各参数含义

IFACE

LAN接口

rxpck/s

每秒钟接收的数据包

txpck/s

每秒钟发送的数据包

rxbyt/s

每秒钟接收的字节数

txbyt/s

每秒钟发送的字节数

rxcmp/s

每秒钟接收的压缩数据包

txcmp/s

每秒钟发送的压缩数据包

rxmcst/s

每秒钟接收的多播数据包

34.ulimit用法

#设置当前用户最多的进程数量限制为200

ulimit-u200

35.将大文件切分为制定大小的文件

split-b100mcatalina.out

将分割后的小文件合并为大的文件

catxaaxabxacxadxaexafxag>catalina.out

36.memcached版本

[root@Server213bin]#./memcached-h

memcached1.4.10

37.apache

servicehttpdstart|stop|restart

38.visulVM

jstatd-J-Djava.security.policy=jstatd.all.policy-J-Djava.rmi.server.hostname=192.168.1.211&

39.文件操作

cptest.txttest1.txt

echo"">test.txt

40.当前访问系统的用户数

who|wc-l

|在两个程序之间建立管道

who的输出成了wc的输入

41.生成脚本文件

1.cat>test

who|wc-l

(ctrl+D)

2.chmod+xtest

3../test

#清空文件内容

cat/dev/null>errlog.log

42.测试连接

java-classpath.:mysql-connector-java-5.1.18-bin.jarTestConnections119.254.104.243:4045100

43.查找字符串

43_1less

lessgp4-passport.log

#find

/ERROR

#continue

N或者n

**********************************************************************

或者

**********************************************************************

less-pERRORgp4-passport.log

43-2vi

vigp4-passport.log

#find

/ERROR

#continue

n

退出:

ESC

:q!

44.位数

getconfLONG_BIT

45.linux下jdk安装

46.linux下tomcat安装

启动./startup.sh报错:

TheBASEDIRenvironmentvariableisnotdefinedcorrectly...

解决:

sudochmod+x/usr/share/tomcat/bin/*.sh

相关推荐