Chinaunix首页 | 论坛 | 博客
  • 博客访问: 724281
  • 博文数量: 90
  • 博客积分: 803
  • 博客等级: 准尉
  • 技术积分: 1041
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 13:42
文章分类

全部博文(90)

文章存档

2020年(4)

2019年(4)

2018年(9)

2017年(11)

2016年(11)

2015年(6)

2014年(3)

2013年(28)

2012年(14)

分类: LINUX

2016-03-24 10:28:57

1、top
  top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器、
  可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
  $ top -u oracle
  内容解释:

  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

  常用的命令:

  P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行

  2、pmap
  可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
  $ pmap -d 14596

  3、ps
  如下例所示:
  $ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是实际内存
  $ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk5


mysql 查询死锁
show engine innodb status;

########添加权限

grant select, insert, update, delete , create ,execute , TRIGGER ,SUPER privileges on testdb.* to 用户名@'192.168.1.%' identified by 'password';

FLUSH PRIVILEGES;


 

kill锁表进程

 

#!/bin/bash

for id in `mysqladmin -h db.autodmp.cig.com.cn -u 用户名 -p密码 processlist | grep  -i 'Waiting for table level lock' | awk '{print $2}'`

do

        mysqladmin -h db.autodmp.cig.com.cn -u 用户名 -p密码 kill ${id}

done

自定义端口文件同步

rsync -avz -e 'ssh -p 10001' --exclude-from='/home/exclude.txt' --delete /home/source/ root@192.168.1.53:/data/wwwroot/dma/

ssh 192.168.1.53 -p 10001



 

点击(此处)折叠或打开

  1. ssh 192.168.87.184 -p 10001 -T<<EOF
  2. cd /data/wwwroot/testing;
  3. svn up;
  4. EOF






在Linux下用split进行文件分割:

模式一:指定分割后文件行数

对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割。

命令:split -l 300 large_file.txt new_file_prefix

模式二:指定分割后文件大小

 split -b 10m server.log newfile


//日志分析
goaccess -d --exclude-ip=127.0.0.1 -f access.log -a > /data/wwwroot/a.html

//nginx  日志切割
logs_path="/data/wwwlogs"
log_names=`cd ${logs_path};ls *.log`
year=`date -d "yesterday" +"%Y"`
month=`date -d "yesterday" +"%m"`
time=`date -d "yesterday" +"%Y%m%d"`

for log in $log_names
do
    mv ${logs_path}/$log ${logs_path}/$log.$time
    kill -USR1 `cat /usr/local/nginx/nginx.pid`
done

sed -i "s/192.168.86.72/192.168.84.72/g" `grep -rl 192.168.84.72 *`

#查询执行时间大于100秒的sql
SELECT concat('KILL ',id,';') FROM information_schema.processlist WHERE TIME > 100 ; 

查询死锁,需在命令行中执行。
show engine innodb status;

阅读(1024) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~