Linux管理日记(三)

时间:2022-05-12 16:52:51

23. 时间同步

同步时间可以使用 root 执行如下命令完成:

rdate -s time.nist.gov
如果需要自动同步,可以采用crontab自动调度,每小时执行一次: 

编辑 crontab: 

crontab -e
i 进入插入模式,然后添加如下一行: 

1 * * * * root rdate -s time.nist.gov
然后依次按 ESC进入命令模式, 看见冒号以后,输入 wq 回车保存退出即可(其实就是 vi /etc/crontab).

24.  查看某个端口被哪个进程监听

netstat -anp |grep 8015
结果可能如下所示:
# netstat -anp |grep 8015tcp        0      0 127.0.0.1:8015              0.0.0.0:*                   LISTEN      16335/java  
通过以上结果可以发现,进程号 PID 是 16335,程序是 java.
此时,再搜索查找 16335 进行就容易了: 

# ps aux | grep 16335root     16335  1.0 11.0 2138564 269532 ?      Sl   16:43   0:30 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat_index/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat_index/endorsed -classpath /usr/local/tomcat_index/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat_index -Dcatalina.home=/usr/local/tomcat_index -Djava.io.tmpdir=/usr/local/tomcat_index/temp org.apache.catalina.startup.Bootstrap start

25. 安装不掉线屏幕工具

详细的教程请参考: Linux远程会话管理工具:screen
普通的使用如下所示:

# 安装不掉线屏幕工具yum -y install screen# 打开一个新屏幕screen# 在屏幕中执行命令ping www.baidu.com# ctrl+a,d 切换屏幕回去# 打开另一个新屏幕screen# 在屏幕中执行命令ping www.csdn.com# ctrl+a,d 切换屏幕回去# 查看打开的不掉线屏幕screen -ls# 进入特定的session屏幕sesid=4567screen -r $sesid# 结束当前的screen,退回到原先场景exit

26.  dstat 查看磁盘,cpu使用状态

命令 dstat  # 使用示例如下:

[root@AY131 ~]# dstat----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw   1   1  99   0   0   0|  11k   22k|   0     0 |   0     0 | 138    87   0   1 100   0   0   0|   0     0 | 182B  882B|   0     0 |  47    54   0   0 100   0   0   0|   0     0 |  94B  402B|   0     0 |  55    58  15  13  70   0   1   1|   0     0 |1331k 1166k|   0     0 |2290   767  11   9  80   0   1   1|   0    16k| 752k  905k|   0     0 |1682   436   0   0 100   0   0   0|   0     0 |  52B  402B|   0     0 |  40    53   0   0 100   0   0   0|   0     0 |  52B  402B|   0     0 |  41    54   1   0 100   0   0   0|   0     0 |  52B  402B|   0     0 |  43    54   0   0  99   0   0   0|   0    48k|  52B  402B|   0     0 |  43    60   0   0 100   0   0   0|   0    16k| 140B  402B|   0     0 |  49    65 
RHEL 6.3默认已经安装了, 另外,这里有一篇比较全面的介绍 dstat的文章:  Linux下比较全面的监控工具dstat
27.iostat 查看IO使用

命令: iostat -dmx 5   #表示 5秒刷新一次

[root@AY131 ~]# iostat -dmx 5Linux 2.6.32-358.6.2.el6.x86_64 (AY131) 06/03/2014 _x86_64_(2 CPU)Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %utilxvda              0.00     0.04    0.01    0.66     0.00     0.00     8.95     0.01    7.83   2.06   0.14xvdb              0.00     1.90    0.14    0.56     0.01     0.01    37.72     0.06   78.87   2.21   0.16scd0              0.00     0.00    0.00    0.00     0.00     0.00     8.00     0.00    2.00   2.00   0.00Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await  svctm  %utilxvda              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00xvdb              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00scd0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

28.  查看内核版本

使用 uname 命令,然后指定 -r 选项: 

[root@AY13121 ~]# uname -r2.6.32-358.6.2.el6.x86_64
uname命令的详细帮助信息如下所示: 
[root@AY1312 ~]# uname --help用法: uname [OPTION]...打印某些系统信息.  如果不指定[OPTION] 选项, 则输出结果和选项 -s 一致.  -a, --all                按下面所有选项的顺序打印所有信息,以空格分隔,                             如果 -p 和 -i 选项是 unknown 则对应的项将被省略:  -s, --kernel-name        打印内核名,如 "Linux"  -n, --nodename           打印网络节点的主机名hostname,如 "AY1312"  -r, --kernel-release     打印内核的 kernel release 版本号,如 "2.6.32-358.6.2.el6.x86_64"  -v, --kernel-version     打印内核kernel的version,如"#1 SMP Thu May 16 20:59:36 UTC 2013"   -m, --machine            打印机器的硬件名,如 "x86_64"  -p, --processor          打印处理器类型,如"x86_64",或者 "unknown"  -i, --hardware-platform  打印硬件平台信息,如"x86_64",或者 "unknown"  -o, --operating-system   打印操作系统,例如 "GNU/Linux"      --help     显示本帮助信息并退出      --version  输出uname命令的 version 信息并退出


29. Tomcat 的简单优化

就如同Oracle的最实用的优化是配置合理的内存和连接数一样,Tomcat也是一样的道理。

先配置 /usr/local/tomcat/bin/catalina.sh 文件,windows下是 bat文件,当然,设置内存需要自己决定了,JDK最好是64位,假如是32位,则内存可能配置不到1GB.

如果是专用服务器,则初始内存和最大内存应该设置为同样大小.

export JAVA_OPTS="$JAVA_OPTS -server -Xmx1536m -Xms1024m"

29.1 修改Tomcat使用的JVM内存大小:

[root@AY13121 bin]# head catalina.sh#!/bin/shexport JAVA_OPTS="$JAVA_OPTS -server -Xmx1536m -Xms1024m"# Licensed to the Apache Software Foundation (ASF) under one or more# contributor license agreements.  See the NOTICE file distributed with# this work for additional information regarding copyright ownership.# The ASF licenses this file to You under the Apache License, Version 2.0# (the "License"); you may not use this file except in compliance with# the License.  You may obtain a copy of the License at##     http://www.apache.org/licenses/LICENSE-2.0
29.2 设置Tomcat连接器的线程数和请求等待队列数

根据需要灵活设置, 个人建议 maxThreads 不要设置得太大,将等待队列acceptCount设置大一点,应付压力测试.

有2个连接器,8009是AJP的,8080是普通的,请根据使用哪个来进行配置.

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" acceptCount="1000"maxThreads="400" minSpareThreads="20"compression="on"  useSendfile="false"  compressionMinSize="2048"noCompressionUserAgents="gozilla,traviata"compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json,application/javascript,application/x-javascript"/>


30.