| 2017.12.7 | centos |
1.Nginx查看并发链接数
需要配置status模块
nginx.conf,在server里面加入如下内容:
location /nginx_status {
stub_status on;
access_log /usr/local/nginx/logs/status.log;
auth_basic "nginx_status";
}
配置后检查
/usr/local/nginx/sbin/nginx -t
重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload
查看结果说明: Active connections //当前 Nginx 正处理的活动连接数. server accepts handledrequests //总共处理了387142个连接,成功创建387142次握手,总共处理了4804888个请求. Reading //nginx 读取到客户端的 Header 信息数. Writing //nginx 返回给客户端的 Header 信息数. Waiting //开启 keep-alive 的情况下,这个值等于active-(reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接.
2.通过命令查看
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
结果说明
SYN_RECV //一个连接请求已经到达,等待确认 ESTABLISHED //正常数据传输状态/当前并发连接数 FIN_WAIT2 //另一边已同意释放 ITMED_WAIT //等待所有分组死掉 CLOSING //两边同时尝试关闭 TIME_WAIT //另一边已初始化一个释放 LAST_ACK //等待所有分组死掉
3.查看使用过高的进程,然后dump出该进程的所有线程及状态
使用命令 jstack PID 命令打印出CPU占用过高进程的线程栈.
jstack -l 5683 > 5683.stack
4.使用top命令找到耗cpu的线程
使用top -H -p PID 命令查看对应进程是哪个线程占用CPU过高.
5.
20409: Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option can be used when the target process is not responding
说明在/tmp/hsperfdata_$username下没有20409这个进程文件
打印在/tmp/hsperfdata_$username下有的进程文件,使用printf “%x\n” 20509得到nid,在20509.log查找对应的代码片段
6.关闭tomcat后关闭java进程
# ps -e|grep java
# kill -9 进程号
7.端口
/etc/init.d/iptables status
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重启防火墙,修改生效
/sbin/iptables -I INPUT -p tcp --dport 80 -j DROP 写入修改
/etc/init.d/iptables save 保存修改
service iptables restart 重启防火墙,修改生效
8.交换空间
新建/app/server/swap
# cd /app/server/swap
# dd if=/dev/zero of=/app/server/swap/swap bs=1024 count=64480000
maxActive="50" maxIdle="10" minIdle="5" initialSize="5"
# mkswap /app/server/swap/swap
mkswap: /app/server/swap/swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 64479996 KiB
no label, UUID=4a7c3567-6273-4544-b57b-3692fc692430
# free -g
# swapon /app/server/swap/swap
启用交换空间
# free -g
或grep SwapTotal /proc/meminfo
# vi /etc/fstab
最后加上
/app/server/swap/swap swap swap defaults 0 0
作用是开启自动挂载交换空间
9.更改用户口令 passwd
终极用户能为自己和其他用户指定口令,普通用户只能修改自己的口令。命令的格式为:
passwd 选项 用户名
可使用的选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。
例如:假设当前用户是andy,则下面的命令修改该用户自己的口令:
代码如下:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
如果是终极用户,能用下列形式指定任意用户的口令:
代码如下:
# passwd andy
New password:*******
Re-enter new password:*******
10.root用户强制踢除其它登录用户
w查看需要剔除的用户tty
踢出tty为pts/1用户的命令为: pkill -kill -t pts/1
11.查看匹配某字符的日志
查看包含spotlight login的日志
grep "spotlight login" test.log
12.修改归档目录及大小
show parameter db_recovery;
alter system set db_recovery_file_dest_size=10G scope=spfile;
13.定期删除文件
1创建shell:
touch /app/server/tasks/del-30-days-ago-log.sh
chmod +x /app/server/tasks/del-30-days-ago-log.sh
新建一个可执行文件del-30-days-ago-log.sh,并分配可运行权限
2编辑shell脚本:
vi /app/server/tasks/del-30-days-ago-log.sh
编辑del-30-days-ago-log.sh文件如下:
#!/bin/sh
find /app/server/tasks/temp/ -mtime +30 -name "*.matdoc.tmp" -exec rm -rf {} \;
ok,保存退出(:wq)。
3计划任务:
#crontab -e
将del-30-days-ago-log.sh执行脚本加入到系统计划任务,到点自动执行
输入:
10 0 * * * /app/server/tasks/del-30-days-ago-log.sh >/dev/null 2>&1
这里的设置是每天凌晨0点10分执行del-30-days-ago-log.sh文件清理30天前数据
-mmin是分钟
14.linux history 记录 时间 ip 登录用户
vi /etc/profile
-------------------
#history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ -z $USER_IP ]
then
USER_IP=`hostname`
fi
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S] [${USER_IP}-${LOGNAME}]"
-------------------
source /etc/profile
HISTFILESIZE=30
HISTSIZE=30
只记录小部分的记录数,
且可以在/etc/skel/.bash_logout中添加下面这行
rm -f $HOME/.bash_history
这样,每次注销时,.bash_history文件都会被删除,网管可用
指定保存记录文件的位置,history -c 对该文件无效,不会清空记录
15.显示环境变量的值
echo $JAVA_HOME
16.4种方法重复执行上一条命令
使用↑上方向键,并回车执行
按 !! 并回车执行
输入 !-1 并回车执行
按 Ctrl+P 并回车执行
17.iostat
avg-cpu段:
%user: 在用户级别运行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%idle: CPU空闲时间的百分比.
Device段:
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
Blk_wrtn/s: 每秒写入的block数.
Blk_read: 读入的block总数.
Blk_wrtn: 写入的block总数.
18.vmstat(virtual memory)
虚拟内存使用情况
19.meminfo
内存使用情况
20.mpstat
比vmstat更详细,vmstat统计所有的cpu信息,mpstat分别统计各cpu的信息
21.查看进程启动时间和持续时间
ps -ef|grep java
查找到java的进程id 1988
ps -eo pid,lstart,etime|grep 1988
22.查看磁盘使用情况
df -h
fdisk -l
23.oracle开启em
$ export ORACLE_SID=orcl
$ emctl start dbconsole
https://localhost:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ...... started.
访问地址:https://localhost:1158/em
查看状态:$ emctl status dbconsole
第一次登陆: sysman / oem_temp(第一次登陆) ,然后用自己的账号登录
24.oracle查看表空间大小
SELECT SUM(BYTES)/1024/1024 "表大小(M)" FROM USER_SEGMENTS WHERE SEGMENT_NAME='TABLE_NAME';
25.oracle查看表空间大小及使用率
select
a.a1 表空间名称,
c.c2 类型,
c.c3 区管理,
b.b2 / 1024 / 1024 表空间大小M,
(b.b2 - a.a2) / 1024 / 1024 已使用M,
substr((b.b2 - a.a2) / b.b2 * 100, 1, 5) 利用率
from
(select tablespace_name a1, sum(nvl(bytes, 0)) a2
from dba_free_space
group by tablespace_name) a,
(select tablespace_name b1, sum(bytes) b2
from dba_data_files
group by tablespace_name) b,
(select tablespace_name c1, contents c2, extent_management c3
from dba_tablespaces) c
where a.a1 = b.b1 and c.c1 = b.b1;
26.oracle查看oracle表空间是否自动扩展
使用dba权限运行以下语句,如果AUTOEXTENSIBLE=YES则说明是自动扩展
SELECT FILE_NAME,AUTOEXTENSIBLE,INCREMENT_BY FROM DBA_DATA_FILES;
27.scp远程复制
从 本地 复制到 远程
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root (然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了),复制目录加参数 -r 即可
从 远程 复制到 本地
scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz
更新列表:
Centos查看端口占用情况和开启端口命令详解 Centos系统增加swap空间大小的方法
2017-12-10 更改用户口令 passwd Spotlight安装和使用 root用户强制踢除其它登录用户
2017-12-11 linux查看日志技巧 修改oracle 11GR2归档模式和归档目录及大小
2017-12-13 Linux应用总结(1):自动删除n天前日志
2017-12-23 linux history 记录 时间 ip 登录用户
2018-01-09 Oracle 11g在Linux下手工配置EM 在Oracle中查询表的大小和表空间的大小
参考文章: