标签 Linux 下的文章

[root@rhce ~]# cat /proc/sys/vm/swappiness
60

该值默认为60。
swappiness=0 的时候,表示最大限度使用物理内存,然后才使用 swap 空间。
swappiness=100 的时候,表示积极的使用 swap 分区,并且把内存上的数据及时的搬运到 swap 空间中。
现在服务器的内存动不动就是上百G,所以我们可以把这个参数值设置的低一些,让操作系统尽可能的使用物理内存,降低系统对 swap 的使用,从而提高系统的性能。

修改 swappiness 参数有临时修改和永久修改两种方法:
临时修改:

[root@rhce ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[root@rhce ~]# cat /proc/sys/vm/swappiness
10

这里我们的修改已经生效,但是如果我们重启了系统,又会变成60。
永久修改:

在 /etc/sysctl.conf 文件里添加如下参数:
vm.swappiness=10
或者
[root@rhce ~]# echo 'vm.swappiness=10'>> /etc/sysctl.conf

保存,重启,就生效了。

下载安装包

wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz

解压

tar -xvf  glibc-2.15.tar.gz
tar -xvf  glibc-ports-2.15.tar.gz

包合并

mv glibc-ports-2.15 glibc-2.15/ports

建立编译目录

mkdir glibc-build-2.15

编译

cd glibc-build-2.15
../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install

查看 glibc 支持的版本

strings libc.so | grep GLIBC

新加了一块磁盘

[root@iZ2zeh0wl8jq1asl4b3rf2Z ~]# fdisk -l
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0008de3e

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    83884031    41940992   83  Linux

Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

- 阅读剩余部分 -

通过 nmcli 命令

[root@master test]# nmcli con
名称    UUID                                  类型            设备
ens33   c96bc909-188e-ec64-3a96-6a90982b08ad  802-3-ethernet  ens33
virbr0  7f06cd4d-a01e-4ba9-a5f8-494179118ee6  bridge          virbr0

netcat 或者叫 nc 是 Linux 下的一个用于调试和检查网络工具包。
可用于创建 TCP/IP 连接,最大的用途就是用来处理 TCP/UDP 套接字。
这里我们将通过一些实例来学习 netcat 命令。
1.在服务器-客户端架构上使用 netcat
netcat 工具可运行于服务器模式,侦听指定端口

$ nc -l 2389

然后你可以使用客户端模式来连接到 2389 端口:

$ nc localhost 2389

现在如果你输入一些文本,它将被发送到服务器端:

$ nc localhost 2389
HI, 70data

在服务器的终端窗口将会显示下面内容:

$ nc -l 2389
HI, 70data

- 阅读剩余部分 -

使用 SecureCRT 或者 Xshell 时,偶尔发生屏幕假死,不能输入等情况。
后来发现,只要输入 ctrl+s,就会假死。
输入 ctrl+q 就可以恢复过来。
ctrl+s 是一个古老的 shell 控制键,再输入 ctrl+q 就可以恢复了。

- 阅读剩余部分 -

[root@myserver test]# tee --help
用法:tee [选项]... [文件]...
将标准输入复制到每个指定文件,并显示到标准输出。

  -a, --append        内容追加到给定的文件而非覆盖
  -i, --ignore-interrupts    忽略中断信号
      --help        显示此帮助信息并退出
      --version        显示版本信息并退出

如果文件指定为"-",则将输入内容复制到标准输出。

- 阅读剩余部分 -

查看 nginx 进程

[root@97lab ~]# ps -A | grep -i nginx
 1435 ?        00:00:00 nginx
 1436 ?        00:01:15 nginx
 1438 ?        00:01:21 nginx

使用 pgrep

[root@97lab ~]# pgrep -l nginx
1435 nginx
1436 nginx
1438 nginx

[root@97lab ~]# pgrep
pgrep: No matching criteria specified
Usage: pgrep [-flvx] [-d DELIM] [-n|-o] [-P PPIDLIST] [-g PGRPLIST] [-s SIDLIST]
    [-u EUIDLIST] [-U UIDLIST] [-G GIDLIST] [-t TERMLIST] [PATTERN]

- 阅读剩余部分 -

问题描述
/usr/bin/ld: cannot find -lxxx
其中 xxx 即表示函式库文件名称,其命名规则是:lib+库名(即xxx)+.so。

可能原因:
1.安装,但相对应的 lib 版本不兼容。
我们需要的是 libjpeg.so.8.0,但安装的是 libjpeg.so.6.0。或者是需要 arm 平台上的 lib,但我们安装的是 X86 架构的,或反之本来是要编译 arm 平台上的却忘了指定交叉编译器,我们需要 32 位但我们安装的是 64 位的。
2.安装了,版本也对了,但 lib(.so.version-num) 的 symbolic link 不正确,没有连结到正确的函式库文件(.so)。
我们需要的是 libjpeg.so.8.0,也安装上了。但是实际使用时我们是查找的 libjpeg.so,就需要相应的一个名为 libjpeg.so 的 link 指向 libjpeg.so.8.0。
3.目录中确实没有相对应的 lib。
系统中没有安装相对应的 lib,安装了,但不在这个目录且不在环境变量中。

- 阅读剩余部分 -