Monthly Archives: October 2015

10 个给 Linux 用户的有用工具

引言

在本教程中,我已经收集了10个给 Linux 用户的有用工具,其中包括各种网络监控,系统审计和一些其它实用的命令,它可以帮助用户提高工作效率。我希望你会喜欢他们。

1. w

显示谁登录了系统并执行了哪些程序。

  1. $ w

不显示头部信息(LCTT译注:原文此处有误)

  1. $ w -h

显示指定用户的信息

  1. $ w <username>

2. nmon

Nmon(nigel’s monitor 的简写)是一个显示系统性能信息的工具。

  1. $ sudo apt-get install nmon

  1. $ nmon

nmon 可以显示与 netwrok,cpu, memory 和磁盘使用情况的信息。

nmon 显示 cpu 信息 (按 c)

nmon 显示 network 信息 (按 n)

nman 显示 disk 信息 (按 d)

3. ncdu

是一个支持光标的du程序,这个命令是用来分析各种目录占用的磁盘空间。

  1. $ apt-get install ncdu

  1. $ ncdu /

最终的输出:

按 n 则通过文件名来排序,按 s 则按文件大小来排序(默认的)。

4. slurm

一个基于网络接口的带宽监控命令行程序,它会用字符来显示文本图形。

  1. $ apt-get install slurm

例如:

  1. $ slurm -i <interface>

  1. $ slurm -i eth1

选项

  • l 显示 lx/tx 指示灯.
  • c 切换到经典模式.
  • r 刷新屏幕.
  • q 退出.

5.findmnt

Findmnt 命令用于查找挂载的文件系统。它用来列出安装设备,当需要时也可以挂载或卸载设备,它是 util-linux 软件包的一部分。

例子:

  1. $ findmnt

以列表格式输出。

  1. $ findmnt -l

列出在 fstab 中挂载的文件系统。

  1. $ findmnt -s

按文件类型列出已挂载的文件系统。

  1. $ findmnt -t ext4

6. dstat

一种灵活的组合工具,它可用于监控内存,进程,网络和磁盘性能,它可以用来取代 ifstat, iostat, dmstat 等。

  1. $ apt-get install dstat

例如:

查看有关 cpu,硬盘和网络的详细信息。

  1. $ dstat

-c cpu

  1. $ dstat -c

-d 磁盘

  1. $ dstat -d

显示 cpu、磁盘等的详细信息。

  1. $ dstat -cdl -D sda1

7. saidar

另一种基于命令行的系统统计数据监控工具,提供了有关磁盘使用,网络,内存,交换分区等信息。

  1. $ sudo apt-get install saidar

例如:

  1. $ saidar

启用彩色输出

  1. $ saider -c

8. ss

ss(socket statistics)是一个很好的替代 netstat 的选择,它从内核空间收集信息,比 netstat 的性能更好。

例如:

列出所有的连接

  1. $ ss |less

列出 tcp 流量

  1. $ ss -A tcp

列出进程名和 pid

  1. $ ss -ltp

9. ccze

一个美化日志显示的工具 :).

  1. $ apt-get install ccze

例如:

  1. $ tailf /var/log/syslog | ccze

列出 ccze 模块:

  1. $ ccze -l

将日志保存为 html 文件。

  1. tailf /var/log/syslog | ccze -h > /home/tux/Desktop/rajneesh.html

10. ranwhen.py

一种基于 Python 的终端工具,它可以用来以图形方式显示系统活动状态。详细信息以一个丰富多彩的柱状图来展示。

安装 python(LCTT 译注:一般来说,你应该已经有了 python,不需要此步):

  1. $ sudo apt-add-repository ppa:fkrull/deadsnakes

更新系统:

  1. $ sudo apt-get update

下载 python:

  1. $ sudo apt-get install python3.2

点此下载 ranwhen.py

$ unzip ranwhen-master.zip && cd ranwhen-master

运行工具。

  1. $ python3.2 ranwhen.py

结论

这都是些不常见但重要的 Linux 管理工具。他们可以在日常生活中帮助用户。在我们即将发表的文章中,我们会尽量多带来些管理员/用户工具。

玩得愉快!

5 Steps to Take Care of Your MongoDB Performance

Do you face some performance issues in your MongoDB setup?

In this case follow these steps to provide some first aid to your system and gain some space for a long term architecture (such as Sharding).

Step 1: Enable Slow Queries

Get intelligence about your system behavior and performance bottlenecks. Usually there is a high correlation between the slow queries and your performance bottleneck, so use the following method to enable your system profiling collection:

db.setProfilingLevel(1, 100);

Step 2: Use Explain

Explore the problematic queries using explain. You can also use mtools to analyze the logged queries to find high frequent ones.

Step 3: Create Indexes

Your analysis should result with new indexes in order to improve the queries

Don’t forget to use index buildup in the background to avoid collections locking and system downtime.

Step 4: Use Sparse Indexes to Reduce the Size of the Indexes

If you use sparse documents, and heavily using the $exists key words in your queries, using sparse indexes (that includes only documents that includes your field) can minimize your index size the boost your query performance.

Step 5: Use Secondary Preferred to Offload Queries to Slaves

You probably have a replica set and it’s waste of resources not using your slaves for read queries (especially for reporting and search operations).

By changing your connection string to secondary preferred, your application will try to run read queries on the slaves before doing that on your master.

Bottom Line

Using these simple methods, you can gain time and space before hitting a wall.