2. vmstat — 虚拟内存统计
linux 的vmstat命令用于显示虚拟内存、内核线程、磁盘、系统进程、i/o 块、中断、cpu 活动 等的统计信息。
java线程之间的通信总是隐式进行 java并发模型—硬件视图 内存空间 共享对象 共享对象 共享对象 内存中的jvm 对象在线 程之间共享 线程1 线程2 处理器a 处理器b 处理器c 处理器d java并发模型—操作系统视图 jvm进程 hotspot vm中, java线程被一对一 java线程 java线程 java线程 映射为本地操作系 统线程 linux kernel 操作系统内核 直接调度java 线程给可用的cpu处理器a 处理器b 处理器c 处理器d 编译器和处理器喜欢不择手段的冒险源代码 编译器优化 指令级并行 内存系统的 最终执行的 的重排序 的重排序 重排序 指令序列 编译器的 重排序 重排序 指令级并行的 处理器的 重排序 重排序 内存系统的 重排序 顺序一致性内存模型的原型结构 处理器a 处理器b 处理器c 处理器c a3 b2 c4 d1 程序顺 a2 b1 c3 d2 序不变 a1 c2 每个内存 c1 单元一个 fifo队列内存单元 1 2 3 4 5 6 7 8 9 10 11 12 13 … … n顺序一致性内存模型的程序员视图 线程 线程 线程 线程 … 2 3 n 1 内存 顺序一致性内存模型的2 大特性 特性2 线程a 的程序顺序 操作的执行整体上无序,但两个线程 都只能看到这个执行顺序。
centos 6 发行版中的内核已经包含了 mppe模块,不需要再去安装配置动态内核加载(dkms ) 和 kernel_ppp_mppe 模块,具体的配置如下:。
系统线程(内核线程、内核态)和用户线程的区别。
# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
3. lsof — 打开文件列表
lsof 命令对于很多 Linux/Unix 系统都可以使用,主要以列表的形式显示打开的文件和进程。
打开的文件主要包括磁盘文件、网络套接字、管道、设备和进程。使用这个命令的主要原因是一个一个盘不能卸载并且显示文件正在使用或者打开的错误信息。这个命令很容易看出哪些文件正在使用。这个命令最常用的格式:
# lsof
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
init 1 root cwd DIR 104,2 4096 2 /
init 1 root rtd DIR 104,2 4096 2 /
init 1 root txt REG 104,2 38652 17710339 /sbin/init
-rw-r--r-- 1 root root 71 aug 14 1995 ld.so.conf。
ddb90000 292k r-x-- /usr/lib/ld.so.1。
ddbe9000 16k rwx-- /usr/lib/ld.so.1。
6、root下, vim /etc/ld.so.conf, 增加一行, /usr/local/lib (因为opencv的库文件在local,默认情况下local/lib中的库文件是不在系统启动时被load的)。