`
sh9533
  • 浏览: 7473 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Linux常用命令

阅读更多
1.赋予执行.sh命令的权限
chmod +x *.sh (单个sh文件)
sudo chmod +x /usr/share/tomcat/bin/*.sh (多个个sh文件)

2.查看linux版本
cat /etc/issue

3.启动memcached
./memcached -d -m 2048 -u root -p 11211
关闭
kill 

4.查看端口情况

#查看CLOSE_WAIT端口
netstat -an | grep CLOSE_WAIT


查看端口被什么程序占用(可能会看到类似8081的端口)
netstat   -anp   |   grep   80

查看端口
netstat -na|grep 80

netstat -tpln|grep 80

查看端口并释放
lsof -i:4040
kill pid


重启网卡
service network restart


5.查看memcached运行状态
stats

6.退出telnet
ctrl+]
q


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

9.查看机器配置

9.1机器型号
dmidecode | grep "Product Name"

9.1内存
cat /proc/meminfo

9.2CPU

总核数
cat /proc/cpuinfo
[physical id 的值,相同则为同一个物理 CPU]

cat /proc/cpuinfo|grep processor|wc -l

单C几核
cat /proc/cpuinfo |grep "cores"|uniq


9.3网卡速率
dmesg |grep link

9.4硬盘
df -h -T

10.查看操作系统
lsb_release -a

10.创建新文件
touch mysql_proxy_new.sh

10.追加filename1内容到filename2
cat filename1 >> filename2


*********************************************
11.nigix相关
*********************************************

1.配置nigix和tomcat的连接
vi nginx/conf/nginx.conf

2.测试nigix的配置文件是否成功
/data/soft/nginx/sbin/nginx -t

3.查看进程
ps -ef|grep nginx

4.启动
cd /data/soft/nginx/sbin/
./nginx

5.停止
kill -QUIT 进程号


12.在停止tomcat的时,会由于jconsole配置的端口被占用而无法停掉。2种方式解决:
(1)使用killall -9 java 杀掉所有的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的状态
tcpdump vrrp
tcpdump vrrp -vv


17.查看进程ProcessName 是否存在  存在则返回该进程的个数,不存在则返回0
ps -ef|grep keepalived |grep -v "grep"|wc -l

18.远程拷贝
scp mysql-connector-java-5.1.10-bin.jar  root@192.168.1.214:/data/soft

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

20.查看最后100行
tail -n 100 catalina.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参数含义
FIELD DESCRIPTIONS
Procs
   r: The number of processes waiting for run time.    如果长期大于1,说明cpu不足,需要增加cpu。
   b: The number of processes in uninterruptable sleep.    在等待资源的进程数,比如正在等待I/O、或者内存交换等
   w: The number of processes swapped out but otherwise runnable. 

Thisfield is calculated, but Linux never desperation swaps.
 
Memory
   swpd: the amount of virtual memory used (kB).
   free: the amount of idle memory (kB).
   buff: the amount of memory used as buffers (kB).
 
Swap
   si: Amount of memory swapped in from disk (kB/s). 虚拟内存的页导入(从SWAP DISK导入RAM)
   so: Amount of memory swapped to disk (kB/s). 虚拟内存的页导出.
(从RAM到SWAP DISK)

si:    由磁盘调入内存
so:    由内存调入磁盘

注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,
磁盘IO和CPU资源都会被消耗。

有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了,
不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),
那么不用担心,系统性能这时不会受到影响的。


IO
   bi: Blocks sent to a block device (blocks/s).    从块设备读入数据的总量(读磁盘)(每秒kb)
   bo: Blocks received from a block device (blocks/s).    块设备写入数据的总量(写磁盘)(每秒kb)

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

System
   in: The number of interrupts per second, including the clock.
   cs: The number of context switches per second.

CPU
   These are percentages of total CPU time.
   us: user time    用户进程使用的时间
   sy: system time    系统进程使用的时间
   id: idle time    中央处理器的空闲时间
  
如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。
如果bi,bo 长期不等于0,表示物理内存容量太小。

#cpu核数
cat /proc/cpuinfo|grep processor|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(Process ID):进程标示号。
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.    ps aux
RSS:进程实际占用物理内存大小

24.当前用户下的进程数
ps ux | wc -l

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

26.
cat /proc/cpuinfo|grep processor|wc -l

27. 查看磁盘
df -h

28. 查看内存大小
free
free [-m|g]按MB,GB显示内存

29. 查看cpu
cat /proc/cpuinfo

只看cpu核数量
grep "model name" /proc/cpuinfo | wc -l

30. 查看系统内存
cat /proc/meminfo

31.查看每个进程的情况
cat /proc/5346/status
5346是pid

32.查看负载
w
uptime

33.查看系统整体状态
top

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

load average: 0.09, 0.05, 0.01

三个数分别代表不同时间段的系统平均负载(一分钟、五 分钟、以及十五分钟),它们的数字当然是越小越好。
“有多少核心即为有多少负荷”法则: 在多核处理中,你的系统均值不应该高于处理器核心的总数量

进程使用的内存可以用top,有3个列VIRT RES SHR, 标示了进程使用的内存情况,
VIRT标识这个进程可以使用的内存总大小, 包括这个进程真实使用的内存, 映射过的文件, 和别的进程共享的内存等.
RES标识这个这个进程真实占用内存的大小. SHR标识可以和别的进程共享的内存和库大小.


33. 性能监视sar命令
sar -u输出显示CPU信息。
-u选项是sar的默认选项。该输出以百分比显示CPU的使用情况

CPU
CPU编号
%user

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

运行正常进程所花的时间
%system

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

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

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

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

sar -u -p ALL 5 5 分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 -n DEV 各参数含义

IFACE
LAN接口

rxpck/s
每秒钟接收的数据包

txpck/s
每秒钟发送的数据包

rxbyt/s
每秒钟接收的字节数

txbyt/s
每秒钟发送的字节数

rxcmp/s
每秒钟接收的压缩数据包

txcmp/s
每秒钟发送的压缩数据包

rxmcst/s
每秒钟接收的多播数据包

34. ulimit用法
#设置当前用户最多的进程数量限制为200
ulimit -u 200

35. 将大文件切分为制定大小的文件
split -b 100m catalina.out

将分割后的小文件合并为大的文件
cat xaa xab xac xad xae xaf xag>catalina.out

36. memcached版本
[root@Server213 bin]# ./memcached -h
memcached 1.4.10

37. apache
service httpd start|stop|restart

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

39.文件操作
cp test.txt test1.txt
echo "" > test.txt

40.当前访问系统的用户数
who | wc -l

|在两个程序之间建立管道
who的输出成了wc的输入

41.生成脚本文件
1.cat > test
who | wc -l
(ctrl+D)

2.chmod +x test

3. ./test

#清空文件内容
cat /dev/null > errlog.log


42. 测试连接
java -classpath .:mysql-connector-java-5.1.18-bin.jar TestConnections 119.254.104.243:4045 100


43. 查找字符串
43_1 less
less gp4-passport.log

# find
/ERROR

# continue
N或者n

**********************************************************************
或者
**********************************************************************
less -p ERROR gp4-passport.log


43-2 vi
vi gp4-passport.log

# find
/ERROR

# continue
n

退出:
ESC
:q!


44. 位数
getconf LONG_BIT


45. linux下jdk安装
46.linux下tomcat安装

启动./startup.sh报错:
The BASEDIR environment variable is not defined correctly ...
解决:
sudo chmod +x /usr/share/tomcat/bin/*.sh
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics