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