uptime
dmesg | tail
vmstat 1
mpstat -P ALL 1
pidstat 1
iostat -xz 1
free -m
sar -n DEV 1
sar -n TCP,ETCP 1
top
这10个命令到底是什么意思,我为大家一一解释一下:
1.uptime
# uptime
03:16:26 up 21:31, 1 user, load average: 10.02, 06.43, 09.02
在上面的例子中,平均负载显示是在不断增加的,1 分钟的值是 10,相比 15 分钟的值 09 来说是增加了。这个数字这么大就意味着有事情发生了.
2. dmesg | tail
# dmesg | tail
[ 14.102501] ISO 9660 Extensions: RRIP_1991A
[ 15.900216] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 15.900234] ISO 9660 Extensions: RRIP_1991A
[ 17.030540] EXT4-fs (vda1): resizing filesystem from 5242619 to 13106939 blocks
[ 17.151434] random: crng init done
[ 17.151436] random: 7 urandom warning(s) missed due to ratelimiting
[ 18.314268] EXT4-fs (vda1): resized filesystem to 13106939
[ 20.394666] new mount options do not match the existing superblock, will be ignored
[ 38.405804] ISO 9660 Extensions: Microsoft Joliet Level 3
[ 38.407599] ISO 9660 Extensions: RRIP_1991A
这里展示的是最近 10 条系统消息日志,如果系统消息没有就不会展示。主要是看由于性能问题导致的错误。
3. vmstat 1
# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 324644 141184 1270628 0 0 10 40 207 431 1 1 99 0 0
0 0 0 324388 141184 1270628 0 0 0 0 130 280 1 1 98 0 0
0 0 0 324388 141184 1270628 0 0 0 0 89 169 0 0 100 0 0
0 0 0 324420 141184 1270628 0 0 0 0 118 225 1 0 99 0 0
0 0 0 324420 141184 1270628 0 0 0 32 125 254 0 0 99 1 0
1 1 0 324420 141184 1270628 0 0 0 68 96 171 0 0 96 4 0
0 0 0 324452 141184 1270628 0 0 0 184 127 166 0 1 96 3 0
^C
r: CPU 上的等待运行的可运行进程数。这个指标提供了判断 CPU 饱和度的数据,因为它不包含 I/O 等待的进程。可解释为:“r” 的值比 CPU 数大的时候就是饱和的。
free:空闲内存,单位是 k。如果这个数比较大,就说明你还有充足的空闲内存。“free -m” 和下面第 7 个命令,可以更详细的分析空闲内存的状态。
si,so:交换进来和交换出去的数据量,如果这两个值为非 0 值,那么就说明没有内存了。
us,sy,id,wa,st:这些是 CPU 时间的分解,是所有 CPU 的平均值。它们是用户时间,系统时间(内核),空闲,等待 I/O 时间,和被偷的时间(这里主要指其它的客户,或者使用 Xen,这些客户有自己独立的 *** 作域)。
4. mpstat -P ALL 1
# mpstat -P ALL 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2020 _x86_64_ (1 CPU)
03:33:26 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
03:33:27 AM all 0.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 99.00
03:33:27 AM 0 0.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 99.00
这个命令打印各个 CPU 的时间统计,可以看出整体 CPU 的使用是不是均衡的。由于我使用的是1H2G主机看不出区别!
5. pidstat 1
# pidstat 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2020 _x86_64_ (1 CPU)
03:34:47 AM UID PID %usr %system %guest %wait %CPU CPU Command
03:34:48 AM 0 1120 1.00 0.00 0.00 0.00 1.00 0 sshd
pidstat 命令为每个 CPU 统计信息功能。由于我使用的是1H2G主机看不出区别!
6. iostat -xz 1
# iostat -xz 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2020 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.67 0.01 0.52 0.29 0.00 98.52
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.00 0.00 9.64 0.00 0.00 0.00
scd0 0.02 0.00 0.48 0.00 0.00 0.00 0.00 0.00 0.21 0.00 0.00 27.72 0.00 0.19 0.00
vda 0.64 4.07 9.15 40.59 0.00 1.99 0.00 32.85 3.58 2.31 0.01 14.31 9.96 0.24 0.11
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
r/s, w/s, rkB/s, wkB/s:这些表示设备上每秒钟的读写次数和读写的字节数(单位是k字节)。这些可以看出设备的负载情况。性能问题可能就是简单的因为大量的文件加载请求。
await:I/O 等待的平均时间(单位是毫秒)。这是应用程序所等待的时间,包含了等待队列中的时间和被调度服务的时间。过大的平均等待时间就预示着设备超负荷了或者说设备有问题了。
avgqu-sz:设备上请求的平均数。数值大于 1 可能表示设备饱和了(虽然设备通常都是可以支持并行请求的,特别是在背后挂了多个磁盘的虚拟设备)。
%util:设备利用率。是使用率的百分数,展示每秒钟设备工作的时间。这个数值大于 60% 则会导致性能很低(可以在 await 中看),当然这也取决于设备特点。这个数值接近 100% 则表示设备饱和了。
7. free -m/h
ubuntu@VM-0-17-ubuntu:~# free -m
total used free shared buff/cache available
Mem: 1833 137 313 5 1381 1506
Swap: 0 0 0
ubuntu@VM-0-17-ubuntu:~$ free -h
total used free shared buff/cache available
Mem: 1.8G 139M 311M 5.8M 1.3G 1.5G
Swap: 0B 0B 0B
这个命令我相信大家都熟悉,buffers:用于块设备 I/O 缓冲的缓存,cached:用于文件系统的页缓存。
8. sar -n DEV 1
ubuntu@VM-0-17-ubuntu:~# sar -n DEV 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2020 _x86_64_ (1 CPU)
03:43:35 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
03:43:36 AM eth0 11.00 10.00 0.79 1.06 0.00 0.00 0.00 0.00
03:43:36 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
使用这个工具是可以检测网络接口的吞吐:rxkB/s 和 txkB/s,作为收发数据负载的度量,也是检测是否达到收发极限。在上面这个例子中,eth0 接收数据达到 0.79 kb 字节/秒,发送数据达到1.06 字节/秒。
9. sar -n TCP,ETCP 1
ubuntu@VM-0-17-ubuntu:~# sar -n TCP,ETCP 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu) 06/15/2020 _x86_64_ (1 CPU)
03:49:56 AM active/s passive/s iseg/s oseg/s
03:49:57 AM 0.00 0.00 5.05 3.03
03:49:56 AM atmptf/s estres/s retrans/s isegerr/s orsts/s
03:49:57 AM 0.00 0.00 0.00 0.00 0.00
这是对 TCP 关键指标的统计,它包含了以下内容:
active/s:每秒本地发起的 TCP 连接数(例如通过 connect() 发起的连接)。
passive/s:每秒远程发起的连接数(例如通过 accept() 接受的连接)。
retrans/s:每秒TCP重传数。
10. top
ubuntu@VM-0-17-ubuntu:~# top
top - 03:53:20 up 1 day, 1:41, 1 user, load average: 0.01, 0.04, 0.00
Tasks: 89 total, 1 running, 52 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1877076 total, 317436 free, 143420 used, 1416220 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1540856 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3730 root 20 0 105688 6812 5840 S 0.3 0.4 0:00.01 sshd
7546 root 20 0 644608 14924 6776 S 0.3 0.8 2:48.99 YDService
1 root 20 0 159892 9260 6796 S 0.0 0.5 0:06.45 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
7 root 20 0 0 0 0 S 0.0 0.0 0:04.29 ksoftirqd/0
8 root 20 0 0 0 0 I 0.0 0.0 0:08.85 rcu_sched
9 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_bh
10 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
11 root rt 0 0 0 0 S 0.0 0.0 0:00.16 watchdog/0
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
top 命令包含了很多我们前面提到的指标。这个命令可以很容易看出指标的变化表示负载的变化,这个看起来和前面的命令有很大不同。
top 的一个缺陷也比较明显,很难看出变化趋势,其它像 vmstat 和 pidstat 这样的工具就会很清晰,它们是以滚动的方式输出统计信息。所以如果你在看到有问题的信息时没有及时的暂停下来(Ctrl-S 是暂停, Ctrl-Q 是继续),那么这些有用的信息就会被清屏。
文章原文: https://www.113p.cn/129.html (来都来了,就去我博客看下!!)
如果你用真实硬盘分区的话 不用加UUID , UUID不过是掩盖了真实分区的名字罢了 ,是每个分区的唯一序列,目前也就ubuntu采用UUID命名fstab , 新加的分区完全可以用 老的/dev/sdax的方式当然 也可以用UUID方式
用
ls -l /dev/disk/by-uuid 查看各个分区的UUID 然后找例子添加到fstab即可
____________________________________________
哦 这个很容易了
按以下步骤进行即可
________________________
假设分区已经完成, 原分区 /dev/sda1 挂载到 / , 新的分区 /sda2 /sda3 尚未格式化及挂载 [分区设备名套用你自己的,我这边为了方面表述做得假设]
创建文件系统
#mkfs.ext3 /dev/sda2
#mkfs.ext3 /dev/sda3
挂载新的文件系统到临时创建的目录,准备转移数据
#mkdir /mnt/usr
#mkdir /mnt/var
#mount /dev/sda2 /mnt/usr
#mount /dev/sda3 /mnt/var
转移数据
#tar cfvp - /usr/* |(cd /mnt/usr tar xvfp -)
#tar cfvp - /var/* |(cd /mnt/var tar xvfp -)
验证转移过程是否完整 , 确保两行xxxxxxxxxxx,xxxxxx完全相同 var 也一样 *** 作 不复述
#du -s /usr
xxxxxxxxxxx /usr
#du -s /mnt/usr
xxxxxxxxxxx /mnt/usr
#find /usr |wc -l
xxxxxx
#find /mnt/usr |wc -l
xxxxxx
修改fstab文件
vi /etc/fstab
添加如下的行
/dev/sda2 /usrext3noatime 0 0
/dev/sda3 /varext3noatime 0 0
_________________________________
然后 ,使用livecd启动 ,mount /dev/sda1 ,删除掉/usr /var目录, 重启 即完成迁移
最后一步 清理老的/usr /var 一定要在livecd中,否则会有文件被占用
_______________________
没什么不方便的, 非服务器用户 以及初学者 用一个大的/ 就可以了,分离对你来讲没必要
因为过程对新手来讲过于麻烦了..
linux下无损的调整分区并把剩余空间独立出来的前提是 你使用了LVM逻辑卷管理系统
否则的话 按照你的情况只有备份数据, 重新分区的方法
e2fsprogs调整分区大小局限性很大 ,很难做到不损数据
1. 首先我们先来看最简单的方法,这种方法只是适用于有图形界面的linux *** 作系统,例如fedora *** 作系统。右击我们需要查看文件夹,然后点击属性选项,在d出的属性框中找到内容所在一行,会列出此文件夹有多少项和其大小 2.当然以上方法适用范围有限,只适用于图形界面的linux *** 作系统,下面小编介绍一种通用的方法,那就是使用命令行 *** 作。你的linux *** 作系统可以没有图形界面,但总不会不能 *** 作命令行吧,我们点击终端开始 *** 作命令行。 3.首先我们使用ls命令,列出当前文件夹下的所有文件和文件夹,然后我们使用cd命令打开我们需要查看文件夹大小的文件夹,然后我们使用du -s命令,此时我们可能会看到一长串的数字,这就是我们先要的文件夹的大小,只不过显示的是文件夹的字节数。 4.很多朋友可能不习惯字节数,不知道它到底是代表多大,此时我们可以再次使用du命令,只不过把后面的参数多加一个h,具体命令是du -sh,然后我们再来看看数值,是不是变了呢,已经变成了以M结尾的数字。 5.当然du命令除了这种用法之外还有其他的用法,那就直接在du -sh /输入你想要查询的文件夹路径即可,例如du -sh /home/fengshenlong/vm就是查询vm文件夹的大小,输入命令即可看到,跟直接进入目录输入的结果是一致的。 6.当然除了du命令之外还有ls命令也可以查询文件和目录的大小,但是小编使用命令之后查询出来的大小都是4.0k不知道是用法不对还是其他的原因,故在此没有详细的做出介绍,如果有兴趣的朋友可以研究一下它的具体用法。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)