linux进程列表中有多个top

linux进程列表中有多个top,第1张

一:ps命令

以下是 ps 的最简单形式:

$ ps

PID TTY TIME CMD

3884 pts/100:00:00 bash

3955 pts/200:00:00 more

3956 pts/500:00:05 sqlplus

•PID 是进程的标识号。

•TTY 是进程所属的终端控制台。

•TIME 列是进程所使用的总的 CPU 时间。

•CMD 列列出正在执行的命令行。

使用带有 -ef 选项的 ps,返回系统中所有用户的所有进程的完整列表。一般将此 ps 命令的结果传送到 grep 中,则该结果更易于查看。例如:

$ ps -ef | grep oracle

UIDPID PPID C STIME TTY TIME CMD

oracle1633 1 0 13:58 ?00:00:00 ora_pmon_ora1

oracle1635 1 0 13:58 ?00:00:00 ora_dbw0_ora1

oracle1637 1 0 13:58 ?00:00:01 ora_lgwr_ora1

oracle1639 1 0 13:58 ?00:00:02 ora_ckpt_ora1

oracle1641 1 0 13:58 ?00:00:02 ora_smon_ora1

oracle1643 1 0 13:58 ?00:00:00 ora_reco_ora1

oracle1645 1 0 13:58 ?00:00:00 ora_cjq0_ora1

oracle1647 1 0 13:58 ?00:01:18 ora_qmn0_ora1

oracle1649 1 0 13:58 ?00:00:00 ora_s000_ora1

oracle1651 1 0 13:58 ?00:00:00 ora_d000_ora1

-e : 在命令执行后显示环境

-f : 完整显示输出

•标为 C 的列是由 CPU 用于计算执行优先级的因子。

•STIME 是指进程的启动时间。

•问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。

主要参数说明:

1) 进程用户ID(UID),

虽然 uid 通常是指数字型的标识,但在第一列下指定的是用户名,标记为 UID

2) 进程ID (PID)

3) 父进程ID (PPID)

PPID 是父进程的标识号。对于 Oracle 进程,这里的标识号为 1 — 它是 init 进程(所有进程的父进程)的 id,因为在本系统中安装的 Oracle 是作为登录进程的一部分而启动的

4) CPU 调度情况 (C)

即是是由 CPU 用于计算执行优先级的因子。

5) 进程启动的时间 (STIME)

6) 进程共占用CPU的时间(TIME)

7) 启动进程的命令 (CMD)

8)问号表示这些进程不属于任何 TTY,因为它们是由系统启动的。

 

使用PS命令分析系统性能的方法主要有:

1) 首先,根据用户ID寻找由同一用户执行的许多相似任务,这些任务很可能是因为用户运行的某个脚本程序在后台启动多个进程而造成的。

2) 接下来,检查TIME域中各进程累计占用CPU的时间,如果有某个进程累计占用了大量的CPU时间,通常说明该进程可能陷入了无限循环,或该京城的某写逻辑出了错

3) 找到那些已陷入死锁的进程ID后,就可以使用kill命令强制终止该进程了。

二:top命令

Ps 只为您提供当前进程的快照。要即时查看最活跃的进程,可使用 top。

Top 实时地提供进程信息。它还拥有交互式的状态,允许用户输入命令,如 n 后面跟有 5 或 10 等数字。其结果是指示 top 显示 5 或 10 个最活跃的进程。Top 持续运行,直到您按 "q" 退出 top 为止。

Top中的几个隐含参数:

top中按1键和F键的参数:

按1键可以等到多个cpu的情况

按F(f:当前状态,可以按相应的字母键做top的定制输出)后得参数:

对F键和f键的区别:

如果进入F键区可以做进程显示的排序,如果进入f键区的话则可以选择显示的多个项目:

* A: PID= Process Id//进程ID

b: PPID = Parent Process Pid//父进程ID

c: RUSER = Real user name//真正的(Real)所属用户名称

d: UID= User Id //用户ID

e: USER = User Name //用户名称

f: GROUP = Group Name //组名称

g: TTY= Controlling Tty //控制

h: PR = Priority //优先权

i: NI = Nice value//优先级得值(负数代表较高的优先级,正数是较低的优先级.0标志改优先级的值是不会被调整的)

j: #C = Last used cpu (SMP) //随后使用的cpu比率

k: %CPU = CPU usage //cpu使用比率

l: TIME = CPU Time //cpu占用时间

m: TIME+ = CPU Time, hundredths //cpu%比

n: %MEM = Memory usage (RES)//内存使用率

o: VIRT = Virtual Image (kb)//虚拟镜像(VIRT = SWAP + RES:所有进程使用的虚拟内存值,包括所有的代码,数据,共享库已经被swapped out的)

p: SWAP = Swapped size (kb) //交换空间大小(所有虚拟内存中的镜像)

q: RES= Resident size (kb)//已经使用了的常驻内存(Resident size):RES = CODE + DATA

r: CODE = Code size (kb)//分配给执行代码的物理内存

s: DATA = Data+Stack size (kb) //data+stack:物理内存中非存放代码的空间,用于存放数据

t: SHR= Shared Mem size (kb) //共享内存大小.放映了一个task的潜在可以供别人使用的内存的大小

u: nFLT = Page Fault count //内存叶错误的数量

v: nDRT = Dirty Pages count //脏页的数量

w: S = Process Status//进程状态:( R )为运行或可执行的,( S )为该程序正在睡眠中,( T )正在侦测或者是停止了,( Z )僵尸程序

x: COMMAND= Command name/line //进程启动命令行参数

y: WCHAN = Sleeping in Function //在睡眠中

z: Flags = Task Flags //任务标志

Note1:

If a selected sort field can't be shown due to screen width or your field order, the '<' and '>' keys

will be unavailable until a field within viewable range is chosen.

Note2:

Field sorting uses internal values, not those in column display. Thus, the TTY &WCHAN fields will violate strict ASCII collating sequence. (shame on you if WCHAN is chosen)

Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def

Toggle fields via field letter, type any other key to return

* A: PID= Process Id

* E: USER = User Name

* H: PR = Priority

* I: NI = Nice value

* O: VIRT = Virtual Image (kb)

* Q: RES= Resident size (kb)

* T: SHR= Shared Mem size (kb)

* W: S = Process Status

* K: %CPU = CPU usage

* N: %MEM = Memory usage (RES)

* M: TIME+ = CPU Time, hundredths

b: PPID = Parent Process Pid

c: RUSER = Real user name

d: UID= User Id

f: GROUP = Group Name

g: TTY= Controlling Tty

j: #C = Last used cpu (SMP)

p: SWAP = Swapped size (kb)

l: TIME = CPU Time

r: CODE = Code size (kb)

s: DATA = Data+Stack size (kb)

u: nFLT = Page Fault count

v: nDRT = Dirty Pages count

y: WCHAN = Sleeping in Function

z: Flags = Task Flags

* X: COMMAND= Command name/line

Flags field:

0x00000001 PF_ALIGNWARN

0x00000002 PF_STARTING

0x00000004 PF_EXITING

0x00000040 PF_FORKNOEXEC

0x00000100 PF_SUPERPRIV

0x00000200 PF_DUMPCORE

0x00000400 PF_SIGNALED

0x00000800 PF_MEMALLOC

0x00002000 PF_FREE_PAGES (2.5)

0x00008000 debug flag (2.5)

0x00024000 special threads (2.5)

0x001D0000 special states (2.5)

0x00100000 PF_USEDFPU (thru 2.4)

一.更改telnet登录慢的问题: cd /etc vi resolv.conf 将里面内容清空 二.更改root用户不能直接远程登录问题: cd /etc cd pam.d vi login 注释掉这行 #authrequired pam_s

一.更改telnet登录慢的问题:

cd /etc

vi resolv.conf

将里面内容清空

二.更改root用户不能直接远程登录问题:

cd /etc

cd pam.d

vi login

注释掉这行

#authrequired pam_securetty.so//该行注释掉 三.挂接usb移动硬盘

将移动硬盘挂上.

#df 查看linux下硬盘盘符

mount /dev/sda1 /mnt/usb (举例) 四.linux时区同步问题(安装ntp软件过程)

首先在http://www.meinberg.de/english/sw/index.htm

下载了一个windows的ntp服务程序:ntp4171.zip

windows 192.168.1.32

1.安装是提示设置服务器地址,我设置的本机widows机器的ip

2.ntpd的控制在:

控制面板->管理工具->组件服务-networktimeprotocol

3.可以启动ntpd守护进程保持时间同步

4.在c:\winnt目录下有个ntp的配置文件ntp.conf

设置为:

server 127.127.1.0 prefer

fudge127.127.1.0 stratum 10

5.确定ntp是否工作: ntpq -p

linux和windows同步,我用的是redhat 9.0

执行命令:ntpdate 192.168.1.32

你就会发现你的时间变化了,和192.168.1.32的时间一样

如果执行命令出现一下错误

1.提示:7 dec 19:24:55 ntpdate[2120]: the ntp socket is in use, exiting

这个是你linux机器上已经存在这个进程,输入:ps -ef | grep ntpd

kill掉ntp的进程

2.提示:no server suitable for synchronization found

这个是最容易出现的问题,比较常见的是配置好服务器并启动服务器进程后 ,马上

启动客户进程,那么客户进程就会报错。解决方法是,在大约3-5分钟以后 启动进程就行

我想每10分钟就和windows服务同步时间

1.创建自己的一个crontab文件,随便建立一个文件date.cron,首先可以使用 任何文本

编辑器建立一个新文件,然后向其中写入需要运行的命令和要定期执行的时 间。

vi date.cron加入下面要运行的命令和要定期执行的时间

*/10 * * * * /usr/sbin/ntpdate 192.168.1.32

然后存盘退出

2.使用crontab命令来安装这个文件,使之成为该用户的crontab文件。键入:

crontab date.cron

这个文件已经建立好了

3.使用命令:

crontab -l (查看安排的作业序列)可以看到刚才的作业

如:

[root@nxd-test root]# crontab -l

# do not edit this file - edit the master and reinstall.

# (date.cron installed on tue dec 7 18:22:42 2004)

# (cron version -- $id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie exp $)

*/10 * * * * /usr/sbin/ntpdate 192.168.1.32

现在就ok了,每10分钟linux就和服务端同步一次。 更改linux启动时用图形界面还是字符界面

cd /etc

vi inittab

将id:5:initdefault: 其中5表示默认图形界面

改id:3: initdefault: 3表示字符界面 6.重新启动xinetd)

/etc/init.d/xinetd restart 7.重启smb服务

/etc/init.d/smb restart 8.配置smb可以被哪些ip所用.

cd /etc/samba

vi smb.conf

找到hosts allow = 192.168.1. 192.168.2. 127.

修改其为哪些机器所用,注意ip之间用逗号分开

举例:

hosts allow =192.168.1.110,192.168.1.120 9.禁止在后台使用ctrl-alt-delete重起机器

cd /etc/inittab

vi inittab 在文件找到下面一行

# trap ctrl-alt-delete

ca::ctrlaltdel:/sbin/shutdown -t3 -r now(注释掉这一行)

如: # trap ctrl-alt-delete

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now 10.修改主机名

vi /etc/sysconfig/network

修改hostname一行为hostname=主机名 11[.重新启动ftp服务

/sbin/service vsftpd restart 12.[查看开机检测的硬件

dmesg | more 13.查看硬盘使用情况

df –m 14.查看目录的大小

du –sh dirname 15.解压小全

tar xvfj lichuanhua.tar.bz2

tar xvfz lichuanhua.tar.gz

tar xvfz lichuanhua.tgz

tar xvflichuanhua.tar

unzip lichuanhua.zip

.gz

解压1:gunzip filename.gz

解压2:gzip -d filename.gz

压缩:gzip filename

.tar.gz

解压:tar zxvf filename.tar.gz

压缩:tar zcvf filename.tar.gz dirname

---------------------------------------------

.bz2

解压1:bzip2 -d filename.bz2

解压2:bunzip2 filename.bz2

压缩: bzip2 -z filename

.tar.bz2

解压:tar jxvf filename.tar.bz2

压缩:tar jcvf filename.tar.bz2 dirname

---------------------------------------------

.bz

解压1:bzip2 -d filename.bz

解压2:bunzip2 filename.bz

压缩:未知

.tar.bz

解压:tar jxvf filename.tar.bz

压缩:未知

---------------------------------------------

.z

解压:uncompress filename.z

压缩:compress filename

.tar.z

解压:tar zxvf filename.tar.z

压缩:tar zcvf filename.tar.z dirname

---------------------------------------------

.tgz

解压:tar zxvf filename.tgz

压缩:未知

.tar.tgz

解压:tar zxvf filename.tar.tgz

压缩:tar zcvf filename.tar.tgz filename

---------------------------------------------

.zip

解压:unzip filename.zip

压缩:zip filename.zip dirname

---------------------------------------------

.rar

解压:rar a filename.rar

压缩:rar e filename.rar

rar请到:http://www.rarsoft.com/download.htm 下载!

解压后请将rar_static拷贝到/usr/bin目录(其他由$path环境变量指定的目录 也可以):

[root@www2 tmp]# cp rar_static /usr/bin/rar

---------------------------------------------

.lha

解压:lha -e filename.lha

压缩:lha -a filename.lha filename lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!

解压后请将lha拷贝到/usr/bin目录(其他由$path环境变量指定的目录也可以 ):

[root@www2 tmp]# cp lha /usr/bin/

---------------------------------------------

.tar .tgz .tar.gz .tar.z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea

解压:sex x filename.*

压缩:sex a filename.* filename

16.显示内存使用情况

free –m 17.忘记了root密码 一. lilo

1. 在出现lilo菜单的时候按“ctrl+x”或者“tab",然后输入:linux single

或者用光盘

在出现 lilo: 提示时键入 linux single

画面显示 lilo: linux single

2. 回车可直接进入linux命令行

3. #vi /etc/shadow

将第一行,即以root开头的一行中root:后和下一个:前的内容删除,

第一行将类似于

root::......

保存

4. #reboot重启,root密码为空 二.grub

1.出现grub画面时,用上下键选启动linux的哪一项,按e键

2.上下键选择 kernel /boot/……… 然后按e键

3.修改现在见到的命令好,加入single 结果:

kernel /boot/vmlinuz-2.4.20-8 single ro root=label=

4.回车返回,按b键启动,直接进入linux命令行

直接执行: passwd root

修改密码,你的密码就搞定

5.也可以修改/etc/shadow中

将第一行,即以root开头的一行中root:后和下一个:前的内容删除,

第一行将类似于

root::......

保存

reboot重启,root密码为空 18.显示系统运行了多长时间

uptime 19.重新启动网络

/etc/init.d/network restart 20.显示开机自检的内容命令

dmesg 21.查看端口

netstat –an

netstat -anp 22..端口的详细列表

/etc/services 23.查看物理信息

lspci 24.安装图形界面不能出现,使用解析进行安装

linux lowres (使用的是640x480分辨率) 25.屏蔽主机的ping 命令,是被别人无法ping你的机器

echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 26.彻底删除oracle安装的程序,删除一下几个目录

/etc/orainst.loc/tmp/<otherowerdfile

/etc/oratab $oracle_base/* 27.linux启动到文字界面(不启动xwindows界面)

vi /etc/inittab在下面一行

id:5:initdefault: 一行中的5改为3

启动xwindows 是5

文字截面是3

28.rpm包

1.卸载 rpm –e

2.查询 rpm –q

-a 查询所有已安装的软件包

-f 查询包含文件<file>的软件的包

-i 显示软件包信息

-l 显示软件包的文件列表

3.验证 rpm –v

rpm –va 验证整个文件丢失了哪些文件

碰到不认识的文件使用

rpm –qf

4.一个rpm包安装到哪里去了(已经安装的包)

rpm –qi 包名(这里不包括.rpm后缀的软件名称,也就是说只能用mysql或者 mysql-3.23.54a而不是mysql-3.23.54a.rpm)

5.一个rpm包中包含哪些文件

一个没有安装过的软件包:使用rpm –qip ***.rpm

一个已经安装过的软件包: 使用rpm –qi ***.rpm 29.看已经安装的字符集

locale –a 30.抓包命令tcpdump

例:抓获192.168.1.32 的主机收到和发出的所有的数据包

tcpdump host 192.168.1.32

截获特定的端口

tcpdump tcp port 21 host 192.168.1.32 31.文本截面的中文支持

rh 9.0自带安装包 zhcon_0.2.3_1.rh9.i386.rpm

安装完成后,执行: zhcon 就可以支持中文了 32.查看端口现在运行什么程序

lsof –i:8001 33.察看实时的日志

tail –f /var/log/messages 34.当mount出现死的现象

1.fuser –m /mnt/share查出该程序的进程,然后kill掉

2.再umount /mnt/share 35.linux 控制 windows

1.用rh9.0自己带rdesktop,版本是1.2.0

命令:rdesktop –u user –f 192.168.1.70 色默认的是8位

2要达到16色,就要下载新版本1.3.0

rdesktop –a 16 –u lichuanhua –g 800*600 192.168.1.70

36. linux挂载windows分区

mount ntfs分区

一.单机挂windows的ntfs分区

1. 上www.google.com搜索并下载 kernel-ntfs-2.4.18-14.i686.rpm

2. rpm -ivh kernel-ntfs-2.4.18-14.i686.rpm

3. mkdir /mnt/share

4. mount -t ntfs /dev/hda1 /mnt/share

要挂载windows分区,首先新建一个目录/mnt/share,修改/etc/fstab,在最末 尾添上(假设windows安装在硬盘的第1个分区)

/dev/hda1 /mnt/share ntfs defaults 0 0

二.网络上一台windows和linux机器,linux机器挂载windows上的共享文件

windows ip:192.168.1.1

1.linux挂载192.168.1.1(windows)上共享文件dbf,挂在linux的/mnt/share目 录下,在/mnt下建立share目录

mount -t smbfs -o username=massky,password=massky //192.168.

1.1/dbf /mnt/share

2.机器重启自动挂载,vi /etc/fstab最后加入:

//192.168.1.1/dbf /mnt/share smbfs defaults,auto,username=m

assky,password=massky 0 0 37.oracle9i在linux9.0上的安装

1.确保rpm开发包,使用下面命令查看是否已安装这些包

rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils

2.进行解压

zcat linux9i_disk1.cpio.gz | cpio -idmv

zcat linux9i_disk2.cpio.gz | cpio -idmv

zcat linux9i_disk3.cpio.gz | cpio -idmv

3.设置内核参数

vi /etc/sysctl.conf,加入下面参数

kernel.shmmax=4294967295 内存512m

计算方法为:kernel:shmmax=1024*1024*ram(m)/2

执行sysctl -p生效

4.建立数据目录和用户

groupadd dba

groupadd oinstall

useradd –g oinstall –g dba oracle

passwd oraclemkdir /opt/oracle

mkdir /opt/oracle/product

mkdir /opt/oracle/product/9.2.0

chown –r oracle.oinstall /opt/oracle

mkdir /var/opt/oracle

chown oracle.dba /var/opt/oracle

chmod 755 /var/opt/oracle

5.vi .bash_profile 设置变量

export ld_assume_kernel=2.4.1

export oracle_base=/opt/oracle

export oracle_home=/opt/oracle/product/9.2.0

export oracle_sid=ora9i

export oracle_term=xterm

export tns_admin=$oracle_home/network/admin

export nls_lang=american_america.zhs16gbk

export ora_nls33=$oracle_home/ocommon/nls/admin/data

ld_library_path=$oracle_home/lib:/lib:/usr/lib

ld_library_path=$ld_library_path:/usr/local/lib

export ld_library_path export path=$path:$oracle_home/bin

classpath=$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib

classpath=$classpath:$oracle_home/network/jlib

export classpath

38.网卡的激活与停止

超级用户

ifconfig eth0 down 停止

ifconfig eth0 up 启动 40.linux下cvs的安装配置

1.安装cvs软件包.

2.groupadd cvs

3.useradd -g cvs cvsroot

4.chmod 777 -r /home/cvsroot

5.cd /etc

6.vi profile

新增以下二行:

cvsroot=/home/cvsroot export cvsroot

cvsedit=vi export cvsedit

7.查看/etc/services文件中cvspserver 所在行的注释状态(有则把注释去掉)

8.进入 /etc /xinetd.d, vi cvspserver该文件不存在,内容如下:

service cvspserver

{

disable = no

socket_type =stream

wait=no

user=root

env=home=

server =/usr/bin/cvs

server_args =--allow-root=/home/cvsroot pserver

log_on_failure +=userid

}

9.vi /etc/xinetd.conf 内容如下,每次开机自动启动服务:

service cvspserver

{

port = 2401

socket_type= stream

wait = no

user = root

server = /usr/bin/cvs

server_args = -f --allow-root=/home/cvsroot pserver

bind = 168.168.1.110

}

重新登录 换cvsroot用户

10./etc/init.d/xinetd restart

11.cvs init(初始化:cvs版本库的初始化)

12.cvs -d :pserver:cvsroot@192.168.1.110:/home/cvsroot login(用户登录 )没有任何提示信息就成功。

13.首先要导入库,假设项目名称为linuxisquote.

步骤:

1、进入linuxisquote.

2、一个项目的首次导入

cvs import linuxisquote lch v_0_0_1

此时到$cvsroot目录下,可以看到多了一个linuxisquote的目录。 41.命令绝对路径

.如果不是绝对路径的话,你可以这样输入

(1)[root@redhat linux]# whereis adduser

adduser: /usr/sbin/adduser /usr/share/man/man8/adduser.8.gz

你这样输入就可以了 /usr/sbin/adduser xxx

(2) 或者改vi /etc/profile,加入一句:path=$path:/usr/sbin:. export path,

就可以直接输入adduser 42.修改用户的权限

.改用户权限的话,你可以改vi /etc/passwd

如:我想lll变成和root用户一样,就改: lll:x:508:508::/home/lll:/bin/bash

改后面的 508 为和root后面的数据一样的就可以了!

改为:lll:x:508:0::/home/lll:/bin/bash

lll就拥有root的权限了。 43.修改grub启动时的背景图片

1 将一图片转化成640*480,14色的xpm #convert abc.jpg -colors 14 -geometry 640x480! abc.xpm

2 压缩生成的xpm文件,使用gzip

#gzip -9 abc.xpm

3 将abc.xpm.gz拷到/boot/grub下

4 修改/boot/grub/menu.lst

splashimage=(hd0,0)/boot/grub/abc.xpm.gz 44.vnc for linux的安装

1.第一步在linux上安装vncserver

tar zxvf vnc-x.tgz

cd x

cp *vnc* /usr/local/bin/

没有vnc 目录,就建vnc目录

mkdir /usr/local/vnc

cp -r classes/ /usr/local/vnc/

2.设置vnc server的访问密码

vncpasswd

3.linux版vnc server的改进.首先执行vncserver

修改/root/.vnc/xstartup里的 twm $ 为gnome-session &

4.启动vnc server

vncserver

注意new x desktop is kill:3 记住3是客户端要用到的端口

5.客户端启动vncviewer,输入:如192.168.1.110:3

ok,你就看到了。。哈。。

如果在windows客户机中安装了ie或netscape,还可以启动ie或netscape

然后在地址栏输入(如果是1的话)

http://192.168.1.64:5801


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8403405.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存