系统常用命令
grep ^processor /proc/cpuinfo | wc -l //检测当前VPS/服务器的CPU核心数。
which java //查找java所在的目录路径
df -h //查看挂载磁盘
ps -ef | grep nginx //查看运行情况
ps -aux | grep tomcat
pwd //显示当前路径
cat /etc/redhat-release //查看系统版本
source /etc/profile //修改profile文件后使其生效(环境变量)
echo $PATH //查看环境变量
clear //清屏
目录、文件操作
mkdir test //创建一个test的文件夹
rm -fr test // 删除文件,文件夹 -f强制删除 -r是递归
cp -rf abc tempdir //拷贝当前目录abc文件及内容到当前目录的tempdir目录下
mv A B //重命名文件A为B
chmod -R 777 /home/user 注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx
chmod -R a-w phpmyadmin/ 取消phpmyadmin目录下的所有文件可写权限
ls -la www.bonavideo.com //查看文件夹权限
find / -name nginx.conf //查找指定文件名的文件
性能
top #使用top命令查看资源占用情况
[root@account-tomcat-01 ~]$ top
top - 14:51:10 up 233 days, 11:40, 2 users, load average: 6.85, 5.62, 3.97
Tasks: 192 total, 2 running, 190 sleeping, 0 stopped, 0 zombie
%Cpu(s): 97.3 us, 0.3 sy, 0.0 ni, 2.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16268652 total, 5114392 free, 6907028 used, 4247232 buff/cache
KiB Swap: 4063228 total, 3989708 free, 73520 used. 8751512 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14063 root 20 0 9260488 4.627g 11976 S 229.1 29.8 117:41.66 java
pidstat 1 监控实时变化
[root@iZ2ze5nzoz9lk751zuw65qZ bin]# pidstat 1
Linux 2.6.32-573.22.1.el6.x86_64 (iZ2ze5nzoz9lk751zuw65qZ) 04/08/2017 _x86_64_ (4 CPU)
07:26:03 PM PID %usr %system %guest %CPU CPU Command
07:26:04 PM PID %usr %system %guest %CPU CPU Command
07:26:05 PM 19974 0.00 1.00 0.00 1.00 2 pidstat
07:26:05 PM PID %usr %system %guest %CPU CPU Command
07:26:06 PM 19879 0.00 1.00 0.00 1.00 2 java
07:26:06 PM PID %usr %system %guest %CPU CPU Command
07:26:07 PM 19974 1.00 0.00 0.00 1.00 2 pidstat
07:26:07 PM 20915 0.00 1.00 0.00 1.00 1 AliYunDun
ps -mp pid -o THREAD,tid,time 查看该进程的线程情况
[root@account-tomcat-01 ~]$ ps -mp 14063 -o THREAD,tid,time
USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME
361 - - - - - - 02:05:58
root 0.0 19 - futex_ - - 14063 00:00:00
root 0.0 19 - poll_s - - 14064 00:00:00
root 44.5 19 - - - - 14065 00:15:30
root 44.5 19 - - - - 14066 00:15:30
root 44.4 19 - - - - 14067 00:15:29
root 44.5 19 - - - - 14068 00:15:30
root 44.5 19 - - - - 14069 00:15:30
root 44.5 19 - - - - 14070 00:15:30
root 44.5 19 - - - - 14071 00:15:30
root 44.6 19 - - - - 14072 00:15:32
root 2.2 19 - futex_ - - 14073 00:00:46
root 0.0 19 - futex_ - - 14074 00:00:00
root 0.0 19 - futex_ - - 14075 00:00:00
root 0.0 19 - futex_ - - 14076 00:00:00
root 0.7 19 - futex_ - - 14077 00:00:15
从输出信息可以看出,14065~14072之间的线程CPU占用率都很高
jstack 查看堆栈信息
[root@account-tomcat-01 ~]$ printf "%x\n" 14065 ##挑选TID为14065的线程,查看该线程的堆栈情况,先将线程id转为16进制,使用printf “%x\n” tid命令进行转换
36f1
[root@root-web-01 ~]$ jstack 14063 |grep 36f1 -A 30
"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007fa35001e800 nid=0x36f1 runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007fa350020800 nid=0x36f2 runnable
"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007fa350022800 nid=0x36f3 runnable
"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007fa350024000 nid=0x36f4 runnable
"GC task thread#4 (ParallelGC)" prio=10 tid=0x00007fa350026000 nid=0x36f5 runnable
"GC task thread#5 (ParallelGC)" prio=10 tid=0x00007fa350028000 nid=0x36f6 runnable
"GC task thread#6 (ParallelGC)" prio=10 tid=0x00007fa350029800 nid=0x36f7 runnable
"GC task thread#7 (ParallelGC)" prio=10 tid=0x00007fa35002b800 nid=0x36f8 runnable
"VM Periodic Task Thread" prio=10 tid=0x00007fa3500a8800 nid=0x3700 waiting on condition
JNI global references: 392
从输出信息可以看出,此线程是JVM的gc线程。此时可以基本确定是内存不足或内存泄露导致gc线程持续运行,导致CPU占用过高。
使用jstat -gcutil命令查看进程的内存情况
[root@account-tomcat-01 ~]$ jstat -gcutil 14063 2000 10
S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 0.00 100.00 99.99 26.31 42 21.917 218 1484.830 1506.747
0.00 0.00 100.00 99.99 26.31 42 21.917 218 1484.830 1506.747
0.00 0.00 100.00 99.99 26.31 42 21.917 219 1496.567 1518.484
0.00 0.00 100.00 99.99 26.31 42 21.917 219 1496.567 1518.484
0.00 0.00 100.00 99.99 26.31 42 21.917 219 1496.567 1518.484
0.00 0.00 100.00 99.99 26.31 42 21.917 219 1496.567 1518.484
0.00 0.00 100.00 99.99 26.31 42 21.917 219 1496.567 1518.484
0.00 0.00 100.00 99.99 26.31 42 21.917 220 1505.439 1527.355
0.00 0.00 100.00 99.99 26.31 42 21.917 220 1505.439 1527.355
0.00 0.00 100.00 99.99 26.31 42 21.917 220 1505.439 1527.355
从输出信息可以看出,Eden区内存占用100%,Old区内存占用99.99%,Full GC的次数高达220次,并且频繁Full GC,Full GC的持续时间也特别长,平均每次Full GC耗时6.8秒(1505.439/220)。根据这些信息,基本可以确定是程序代码上出现了问题,可能存在不合理创建对象的地方。
配置开机启动SVN
# vim /etc/rc.d/rc.local
添加内容
svnserve -d -r /data/svn/project/
注意:升级CentOS7后,原来习惯向/etc/rc.d/rc.local直接添加启动脚本/程序的方法无效了,这是需要给/etc/rc.d/rc.local赋予可执行权限
# chmod +x /etc/rc.d/rc.local
防火墙
查看当前打开的端口
[root@iz2zeesqjkzuv817drjml8z opt]# firewall-cmd --list-ports
3690/tcp
添加新的端口
[root@iz2zeesqjkzuv817drjml8z opt]# firewall-cmd --permanent --add-port=9000/tcp
success
重启
[root@iz2zeesqjkzuv817drjml8z opt]# firewall-cmd --reload
success
其他命令
https://blog.csdn.net/Joe68227597/article/details/75207859
查看端口使用情况
netstat -tnlp