centos pid,centos卸载软件
CentOS下查看进程用了多少内存命令Pmap
Pmap提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息。Pmap实际上是一个Sun OS上的命令,linux仅支持其有限的功能。但是它还是对查看完整的进程地址空间很有帮助。我们需要PID或者运行的进程的唯一进程ID来查看进程内存状态,我们可以通过/proc或者常规命令比如top或ps得到它。
语法或用法
#pmap PID
或者
#pmap [options] PID
在输出中它显示全部的地址,kbytes,mode还有mapping。
选项
-x extended显示扩展格式
-d device显示设备格式
-q quiet不显示header/footer行
-V显示版本信息
单一进程内存状态
[root@info~]# pmap 1013
1013:/usr/sbin/sshd
00110000 1480K r-x-/usr/lib/libcrypto.so.1.0.0
00282000 80K rw--/usr/lib/libcrypto.so.1.0.0
00296000 12K rw-- [ anon ]
00299000 36K r-x-/lib/libkrb5support.so.0.1
002a2000 4K rw--/lib/libkrb5support.so.0.1
002a3000 16K r-x-/lib/libplc4.so
002a7000 4K rw--/lib/libplc4.so
002ab000 88K r-x-/lib/libaudit.so.1.0.0
002c1000 4K r--/lib/libaudit.so.1.0.0
002c2000 4K rw--/lib/libaudit.so.1.0.0
002c3000 216K r-x-/lib/libgssapi_krb5.so.2.2
002f9000 4K rw--/lib/libgssapi_krb5.so.2.2
002fa000 808K r-x-/lib/libkrb5.so.3.3
003c4000 24K rw--/lib/libkrb5.so.3.3
003ca000 152K r-x-/lib/libk5crypto.so.3.1
003f0000 4K rw--/lib/libk5crypto.so.3.1
003f1000 92K r-x-/usr/lib/libnssutil3.so
00738000 4K r---/lib/libresolv-2.12.so
00739000 4K rw--/lib/libresolv-2.12.so
0073a000 8K rw-- [ anon ]
00825000 120K r-x-/lib/ld-2.12.so
00843000 4K r---/lib/ld-2.12.so
00844000 4K rw--/lib/ld-2.12.so
0090d000 32K r-x-/lib/libwrap.so.0.7.6
00915000 4K rw--/lib/libwrap.so.0.7.6
00948000 484K r-x-/usr/sbin/sshd
009c1000 8K rw--/usr/sbin/sshd
009c3000 20K rw-- [ anon ]
009e0000 92K r-x-/lib/libpthread-2.12.so
009f7000 4K r---/lib/libpthread-2.12.so
total 8232K
多进程内存状态
我们可以检查多进程内存通过插入多个PID。加入多个PID中间使用空格分隔。
pmap 1013 1217 1118
扩展进程内存
[root@info~]# pmap-x 1013
1013:/usr/sbin/sshd
Address Kbytes RSS Dirty Mode Mapping
00110000 1480 92 0 r-x- libcrypto.so.1.0.0
00282000 80 80 80 rw-- libcrypto.so.1.0.0
00296000 12 8 4 rw-- [ anon ]
00299000 36 0 0 r-x- libkrb5support.so.0.1
002a2000 4 4 4 rw-- libkrb5support.so.0.1
002a3000 16 0 0 r-x- libplc4.so
002a7000 4 4 4 rw-- libplc4.so
002ab000 88 4 0 r-x- libaudit.so.1.0.0
002c1000 4 4 4 r--- libaudit.so.1.0.0
002c2000 4 4 4 rw-- libaudit.so.1.0.0
002c3000 216 4 0 r-x- libgssapi_krb5.so.2.2
002f9000 4 4 4 rw-- libgssapi_krb5.so.2.2
002fa000 808 4 0 r-x- libkrb5.so.3.3
003c4000 24 24 24 rw-- libkrb5.so.3.3
003ca000 152 4 0 r-x- libk5crypto.so.3.1
003f0000 4 4 4 rw-- libk5crypto.so.3.1
003f1000 92 0 0 r-x- libnssutil3.so
00408000 12 12 12 rw-- libnssutil3.so
0040b000 12 0 0 r-x- libplds4.so
0040e000 4 4 4 rw-- libplds4.so
---------------
total kB 8232---
这里的Address,Kbyte,Dirty,RSS,mode还有mapping的说明如下
扩展和设备格式区域
Address:内存开始地址
Kbytes:占用内存的字节数(KB)
RSS:保留内存的字节数(KB)
Dirty:脏页的字节数(包括共享和私有的)(KB)
Mode:内存的权限:read、write、execute、shared、private(写时复制)
Mapping:占用内存的文件、或[anon](分配的内存)、或[stack](堆栈)
Offset:文件偏移
Device:设备名(major:minor)
CentOS7网络设置修复
服务器有两个网卡enp7s0和enp8s0
服务器需要通过enp8s0和互联网联通,互联网为笔记本转接
通过centos7界面修改ip,失败;
通过centos7的网络配置文件/etc/sysconfig/network-scripts/ifcfg-enp8s0修改ip设置
设置如下:
1.启动 service network start报错,通过journalctl-xe查看如下
-- Defined-By: systemd
-- Support:
--
-- Unit fprintd.service has begun starting up.
12月 29 19:31:12 crrchost dbus-daemon[851]: dbus[851]: [system] Successfully activated service'net.reactivated.Fprint'
12月 29 19:31:12 crrchost dbus[851]: [system] Successfully activated service'net.reactivated.Fprint'
12月 29 19:31:12 crrchost systemd[1]: Started Fingerprint Authentication Daemon.
-- Subject: Unit fprintd.service has finished start-up
-- Defined-By: systemd
-- Support:
--
-- Unit fprintd.service has finished starting up.
--
-- The start-up result is done.
12月 29 19:31:12 crrchost fprintd[6685]: Launching FprintObject
12月 29 19:31:12 crrchost fprintd[6685]:** Message: D-Bus service launched with name: net.reactivated.Fprint
12月 29 19:31:12 crrchost fprintd[6685]:** Message: entering main loop
12月 29 19:31:18 crrchost polkitd[835]: Operator of unix-session:1 successfully authenticated as unix-user:windfarm to gain TEMPORARY authorization for action org.freedesktop.systemd1.manage-units for system-bus
12月 29 19:31:18 crrchost systemd[1]: Starting LSB: Bring up/down networking...
-- Subject: Unit network.service has begun start-up
-- Defined-By: systemd
-- Support:
--
-- Unit network.service has begun starting up.
12月 29 19:31:18 crrchost network[6693]:正在打开环回接口: [ 确定 ]
12月 29 19:31:18 crrchost network[6693]:正在打开接口 enp7s0:
12月 29 19:31:24 crrchost network[6693]:正在确定 enp7s0的 IP信息...失败:不存在链接。检查电缆?
12月 29 19:31:24 crrchost network[6693]: [失败]
12月 29 19:31:24 crrchost network[6693]:正在打开接口 enp8s0: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: [ 确定 ]
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists
12月 29 19:31:25 crrchost systemd[1]: network.service: control process exited, code=exited status=1
12月 29 19:31:25 crrchost systemd[1]: Failed to start LSB: Bring up/down networking.
-- Subject: Unit network.service has failed
-- Defined-By: systemd
-- Support:
--
-- Unit network.service has failed.
--
-- The result is failed.
12月 29 19:31:25 crrchost systemd[1]: Unit network.service entered failed state.
12月 29 19:31:25 crrchost systemd[1]: network.service failed.
12月 29 19:31:25 crrchost polkitd[835]: Unregistered Authentication Agent for unix-process:6669:319312(system bus name:1.263, object path/org/freedesktop/PolicyKit1/AuthenticationAgent, locale zh_CN.UTF-8)(d
3.systemctl status network.service查看如下:
● network.service- LSB: Bring up/down networking
Loaded: loaded(/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed(Result: exit-code) since六 2018-12-29 18:38:17 CST; 1min 24s ago
Docs: man:systemd-sysv-generator(8)
Process: 909 ExecStart=/etc/rc.d/init.d/network start(code=exited, status=1/FAILURE)
12月 29 18:38:06 crrchost systemd[1]: Starting LSB: Bring up/down networking...
12月 29 18:38:06 crrchost network[909]:正在打开环回接口: [ 确定 ]
12月 29 18:38:06 crrchost network[909]:正在打开接口 enp7s0:
12月 29 18:38:12 crrchost network[909]:正在确定 enp7s0的 IP信息...失败:…?
12月 29 18:38:12 crrchost network[909]: [失败]
12月 29 18:38:17 crrchost network[909]:正在打开接口 enp8s0: [ 确定 ]
12月 29 18:38:17 crrchost systemd[1]: network.service: control process exi...=1
12月 29 18:38:17 crrchost systemd[1]: Failed to start LSB: Bring up/down n...g.
12月 29 18:38:17 crrchost systemd[1]: Unit network.service entered failed...e.
12月 29 18:38:17 crrchost systemd[1]: network.service failed.
Hint: Some lines were ellipsized, use-l to show in full.
1.参考网络方法停用NetworkManager,依旧报错
systemctl stop NetworkManager
systemctl disable NetworkManager
2.比对两个网卡的MAC地址和配置文件的MAC地址
a.查看mac地址配置,ipconfig
b.查看配置文件中的macd地址是否匹配,ifcfg-enp8s0和ifcfg-enp7s0,
按照网络方法增加一行HWADDR=ipconfig查询到的对应网卡MAC地址;
c.重启network服务依旧报错;
3.通过GUI界面查看网络,提示“系统的网络服务与此版本的网络管理器不兼容”
这与之前停掉NetworkManager有关,此处不表;
4.因为ifcfg-enp7s0实际上没有插网线,修正其配置文件如下:
ONBOOT=no
重新启动服务后网络正常;
5.检查网络
1.network和NetworkManager不同,通过界面和通过配置文件,可能会导致配置混乱,且NetworkManager有些程序不支持,需要停用;
2.BOOTPROTO=none虽然可以表示静态ip,但是如果要启用,必须设置其为
BOOTPROTO=static或BOOTPROTO=dhcp
3.一个网卡没哟被启用,也就是没有设置动态ip或静态ip,是无法被初始化的,不能设置ONBOOT=yes
In Centos7.0 disabling NetworkManager will leave a dhcp client running configured for NetworkManager. This causes the error message RTNETLINK answers: File exists when the network service is started.
The stale dhclient process has the additional"benefit" that when the lease expires your dhclientwill choke, since it cannot reach NetWorkManager, thus removing your IP address.
If you grep for it, you will see that it points to a NetWorkManager configuration file.
[root@host~]# ps-ef| grep dhc
root 1865 792 0 Apr28? 00:00:00/sbin/dhclient-d-sf\
/usr/libexec/nm-dhcp-helper-pf/var/run/dhclient-eno1.pid-lf\
/var/lib/NetworkManager/dhclient-c96e56d3-a4c9-4a87-85ca-93dc0ca268f2-eno1.lease\
-cf/var/lib/NetworkManager/dhclient-eno1.conf eno1
So what you can do is kill the dhclient and only then start your network service.
CentOS系统proc/[pid]/stat文件说明
在深入探讨/proc/[pid]/stat文件内容之前,先了解一下这一文件在Linux系统中所扮演的角色。/proc/[pid]/stat是一个关键文件,用于提供进程的详细状态信息。它包含了一系列用于描述进程状态、执行过程和调度信息的字段。对于不同版本的Linux系统,如CentOS 7,/proc/[pid]/stat文件的具体字段可能会有所不同。
通过执行系统自带的man命令,我们可以获取更准确的/proc/[pid]/stat文件字段列表。在CentOS 7中,这一文件的字段总数为24。在深入分析之前,我们先大致了解这些字段的含义,它们分别代表了进程的多个方面。
字段1:状态标识符,以三个字符表示进程的状态,如“S”表示睡眠状态,"R"表示运行状态。
字段2-3:时间戳,分别表示进程用户态和内核态的时间使用情况。
字段4:进程的优先级。
字段5-6:进程的用户ID和组ID。
字段7:进程的CPU使用情况。
字段8-9:进程的内存使用情况。
字段10:进程的虚拟内存使用情况。
字段11:进程的交换内存使用情况。
字段12:进程的阻塞原因代码。
字段13:进程的自进程创建到当前时间的运行时间。
字段14-17:进程的共享内存、栈大小和虚拟内存大小。
字段18:进程的内存页数。
字段19:进程的文件描述符数量。
字段20-21:进程的物理内存使用情况。
字段22:进程的执行线程数。
字段23:进程的PID(进程ID)和PPID(父进程ID)。
字段24:进程的用户和组名称。
通过这些字段,我们能够全面了解一个进程的运行状态、内存使用情况、CPU使用情况以及与其他进程的关系。深入理解这些信息对于系统管理、性能调优和问题诊断至关重要。
综上所述,/proc/[pid]/stat文件是Linux系统中不可或缺的工具,它为管理员和开发者提供了丰富的信息,帮助我们更好地理解进程的行为和状态。通过结合不同版本Linux系统的实际情况,我们可以更加精准地利用这一文件,实现更高效、更细致的系统管理。