标签: solaris-10

如何在不重新启动引用进程的情况下恢复已删除文件的可用空间?

当服务器上的大文件被删除时,这些文件可能仍然被进程引用,因此文件系统没有更多的可用空间。

我尝试使用lsof,但似乎没有列出已删除的文件。fuser -c做了更好的工作,但进程列表太长而无法检查每个进程,特别是因为每个进程都是一个 Oracle 进程。

bash-3.2# fuser -c /var
/var:      105o   29999o   20444c    3528c   27258o    7715o    3864o    3862o    2494o   18205o   17450co   17445co   14912co   14824co   14818co   14816o   14814o    8532c    8530c    7633com    7118o    6958o    6790c    6784co    6734o    6693o    6689o    6684o    6675o    6635o    6594c    6548o    6547o    6546o    6545o    6544o    6543o    6542o    6541o    6540o    6537o    6535o    6456o    6128co    6113o     335o     245co     229o     161o       8o
bash-3.2# du -hs /proc
 139T   /proc
Run Code Online (Sandbox Code Playgroud)

有时,文件被应用程序或用户删除,例如日志文件,并且该文件仍被无法重新启动的进程引用。

是否有很好的方法来回收已删除文件的磁盘空间,而无需重新启动引用此已删除文件的进程?

solaris unix disk-space-utilization solaris-10

13
推荐指数
3
解决办法
8万
查看次数

NFS v3 与 v4

我想知道为什么 NFS v4 会比 NFS v3 快得多,以及 v3 上是否有任何可以调整的参数。

我挂载文件系统

sudo mount  -o  'rw,bg,hard,nointr,rsize=1048576,wsize=1048576,vers=4'  toto:/test /test
Run Code Online (Sandbox Code Playgroud)

然后运行

 dd if=/test/file  of=/dev/null bs=1024k
Run Code Online (Sandbox Code Playgroud)

我可以读取200-400MB/s 但是当我将版本更改为vers=3,重新安装并重新运行 dd 时,我只能得到90MB/s。我正在读取的文件是 NFS 服务器上的内存文件。连接的两端都是 Solaris 并且有 10GbE 网卡。我通过在所有测试之间重新安装来避免任何客户端缓存。我曾经dtrace在服务器上看到以衡量通过 NFS 提供数据的速度。对于 v3 和 v4,我更改了:

 nfs4_bsize
 nfs3_bsize
Run Code Online (Sandbox Code Playgroud)

从默认的 32K 到 1M(在 v4 上我用 32K 达到了 150MB/s)我试过调整

  • nfs3_max_threads
  • clnt_max_conns
  • nfs3_async_clusters

提高 v3 的性能,但不行。

在 v3 上,如果我运行四个并行dd,吞吐量从 90MB/s 下降到 70-80MBs,这让我相信问题出在某些共享资源上,如果是这样,那么我想知道它是什么以及我是否可以增加它资源。

获取窗口大小的 dtrace 代码:

#!/usr/sbin/dtrace -s
#pragma D option quiet
#pragma D option …
Run Code Online (Sandbox Code Playgroud)

solaris nfs solaris-10 nfs4

11
推荐指数
1
解决办法
7074
查看次数

Solaris 10 上的已用内存

还有一个关于 Solaris 10 内存的问题。

让我发现,我有672 MB可用内存:

130 processes: 126 sleeping, 2 zombie, 2 on cpu
CPU states: 95.1% idle,  3.9% user,  1.0% kernel,  0.0% iowait,  0.0% swap
Memory: 16G phys mem, 672M free mem, 2048M total swap, 2023M free swap
Run Code Online (Sandbox Code Playgroud)

一个vmstat显示我相同:

kthr      memory            page            disk          faults      cpu
r b w   swap  free  re  mf pi po fr de sr rm s0 s1 s2   in   sy   cs us sy id
0 0 0 564744 687896  3  13 …
Run Code Online (Sandbox Code Playgroud)

solaris memory solaris-10 memory-usage

11
推荐指数
2
解决办法
5万
查看次数

Solaris 10 上的 syslog-ng(如何安装和配置)

如果有人在 Solaris 10 上使用了 syslog-ng,您是否有我可以遵循的一组说明来安装和运行它?

我尝试按照这个http://opensystems.wordpress.com/2006/06/01/replacing-syslog-on-solaris-10-with-syslog-ng/但卡住了 syslog-ng 服务卡在重启没有任何迹象为什么。

谢谢你的帮助。尼克B

solaris-10 syslog-ng

6
推荐指数
1
解决办法
7940
查看次数

如何在solaris中删除“门”

我在solaris 10中有一个“门”类型的文件(这是一种进程间通信的方式)。它以某种方式遗留下来,我想摆脱它。我不能只用 rm 删除它...

ls -l
total 0
Dr--r--r--   1 root     root           0 Oct 12  2012 name_service_door
# rm name_service_door 
rm: name_service_door not removed: Device busy
# lsof name_service_door 
Run Code Online (Sandbox Code Playgroud)

显然某些进程仍在使用它。但是, lsof 不显示任何内容。来自“ps -elf”的人也不清楚是谁在使用它。我怎样才能摆脱这个文件?

更新:我重新启动服务器,这当然杀死了所有进程,从而释放了文件。然后我可以删除它。但是,我仍然有兴趣知道如何在不重新启动的情况下执行此操作(在生产环境中,这并不总是一种选择)。

solaris solaris-10 ipc

6
推荐指数
1
解决办法
547
查看次数

Sun sparc vii m9000

我想了解SUN SPARC VII M9000系列服务器的CPU架构。 prtdiag命令显示它有 8 个内核连接到一个物理 CPU。这些是物理核心吗?什么是 L1、L2 和 L3 缓存架构?

如果可用 CPU 数为 8,我可以运行的最大线程数是多少。即。64核。

这些内核是一种硬件线程吗?

谢谢你的回答。

既然是SMT,能不能扩展到64个线程。我有一些观察:直到 32 个线程并行运行,每个线程需要 8 到 9 秒才能完成。尝试超过 32 个线程所需的时间非线性增长,64 个线程达到 14 秒。

但是,如果我们有专用内核,则其他机器上的相同程序会显示最大线程数所需的时间。

该架构中的两个线程正在获取指令,然后进行流水线操作以在内存访问期间提供执行周期。(如果我的理解是正确的)。问题: 1. 不适合cpu密集型多线程程序采用这种架构是否正确。2. 应用程序应该混合使用 I/O 和 CPU 作业才能正确利用它。

solaris-10

5
推荐指数
1
解决办法
272
查看次数

ZFS 一遍又一遍地重新启动重新同步。也很慢

这是我在 zpool 中更换了几次磁盘后的一台 Solaris 10 服务器

  pool: volume
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scan: resilver in progress since Wed Jul  6 11:43:51 2016
    207M scanned out of 36.7T at 1.48M/s, (scan is slow, no estimated time)
    207M scanned out of 36.7T at 1.48M/s, 7235h37m to go
    13.5M resilvered, 0.00% done
config:

        NAME         STATE     READ WRITE CKSUM …
Run Code Online (Sandbox Code Playgroud)

zfs diskmanagement solaris-10 raidz zpool

5
推荐指数
0
解决办法
590
查看次数

在 Solaris 10 上查看环回接口(使用 snoop 或其他工具)

我试图在solaris 10 上使用snoop 来检测位于我的机器上的客户端和服务器之间的流量。 问题:我只是想验证我是否应该为此使用环回接口。

所以现在是真正的问题。

我发现一些帖子建议您不能在 Solaris 上使用 snoop 来侦听环回接口。有人可以为我验证这一点。我发现了一些似乎暗示这一点的线程,但它们中的大多数都相当陈旧(请参阅底部的链接)。

这个问题解决了吗? 有没有办法在 Solaris 10 上监听环回接口? (使用窥探或其他方法。我的假设是,如果窥探不起作用,wireshark 之类的东西也不会起作用)。

这是我尝试过的:

% sudo snoop -d lo0
Run Code Online (Sandbox Code Playgroud)

结果如下:

snoop: cannot open "lo0": DLPI link does not exist
Run Code Online (Sandbox Code Playgroud)

谢谢


链接

http://forums.sun.com/thread.jspa?threadID=5252240 http://www.mail-archive.com/networking-discuss@opensolaris.org/msg01860.html http://www.derkeiler.com/邮件列表/securityfocus/focus-sun/2002-08/0007.html http://opensolaris.org/jive/thread.jspa?messageID=175240

solaris loopback solaris-10 local snoop

4
推荐指数
2
解决办法
9665
查看次数

在 UNIX 中如何跟踪正常运行时间?

我之所以这么问是因为我最近使用 NetBackup 从备份中恢复了一个系统,而 uptime 现在报告说该系统在恢复完成后才开始运行,尽管它已经运行了好几天。Last reboot也报了错误的信息,但反其道而行之,说上次重启是几个月前,从那时起系统已经重启了很多次。

本质上,我想知道正常运行时间和重启信息的存储位置,以便我可以在将来的恢复过程中对其进行维护。

> uptime
  9:54am  up 1 day(s), 15:52,  3 users,  load average: 0.93, 0.95, 0.86

> last reboot
  wtmp begins Mon Sep 21 03:10
Run Code Online (Sandbox Code Playgroud)

uptime solaris-10

4
推荐指数
1
解决办法
885
查看次数

RSS 项目总数远大于Solaris 中的物理内存+交换区

rss活动进程的所有值(状态为S或)的总和是否可以O远大于总物理内存 + 交换空间?

通过物理内存,我指的是结果prtdiag | grep Memory

还有交换大小,我参考的是结果swap -l

solaris solaris-10

3
推荐指数
1
解决办法
2047
查看次数