我们在solaris中有一个应用程序在特定测试用例期间我们将生成堆转储,这将在特定路径写入服务器,在这种情况下我们在跟踪文件中遇到以下错误 java.lang.OutOfMemoryError:Java堆空间 将堆转储到/ossrc/upgrade/JREheapdumps/java_pid16092.hprof ... 转储文件不完整:I / O错误
和/ var / adm / messages我们可以看到 10月28日13:00:10 ossuas2 nfs:[ID 733954 kern.info]注意:[NFS4] [服务器:mashost] [Mntpt:/ ossrc / upgrade] NFS服务器mashost没有 响应;仍然在尝试 10月28日13:02:53 ossuas2 nfs:[ID 733954 kern.info]注意:[NFS4] [服务器:mashost] [Mntpt:/ usr / local] NFS服务器mashost没有 响应;仍然在尝试 10月28日13:04:53 ossuas2 nfs:[ID 733954 kern.info]注意:[NFS4] [服务器:mashost] [Mntpt:/ etc / opt / ericsson] NFS服务器mashost没有 响应;仍在尝试
任何人都可以请帮助我们为什么我们遇到这个问题,并且可以告诉我们一个应用程序可以对mashost造成这种影响.. ????
答案 0 :(得分:0)
首先,查看带有 svcbundle 和 svcs 的NFS服务 - 当它崩溃时,运行:
# svcs -x nfs/client
在客户端上,
# svcs -x nfs/server
在服务器上。我希望其中一个或两个处于“维护”状态。 (你可能会发现它根本无法正常启动)。如果它处于维护模式,您应该看到标有“Reason:”的行,说明原因。
您可能会看到“离线” - 在这种情况下, startd 将尝试多次重启服务,如果五次尝试失败或无限期挂起,则将其置于“维护”状态并停止重新启动。
检查日志
/var/svc/log/<service-name FMRI>.log
您的客户端计算机上将有一个“network-nfs-client:default”(如果手动更改,可能有'default'以外的名称),以及“network-nfs”下服务器上的名称之一-server:默认的“
看看你能从那些人那里收集到什么。
svcbundle 始终将快照作为服务备份,因此您可以尝试恢复其中一个。
# svcs -s nfs/server:default
svc:/network/nfs/server:default> listsnap
svc:/network/nfs/server:default> revert start [name_of_snapshot]
svc:/network/nfs/server:default> quit
# svcadm refresh nfs/server:default
# svcadm restart nfs/server:default
确保包含“:default”标记,或者如果您看到“svcs nfs / server”中的其他标记包含它,则该名称定义服务的实例,每个正在运行的服务是一个实例。
如果进程无法启动,您可能必须查看/ lib / svc / manifest / network / nfs /中的XML清单 - 里面,您将看到依赖项(以及依赖于此的服务),然后是“exec_method”,它定义服务的启动,停止和重启方式。
您也可以将其还原为默认值而不是快照:使用 svccfg -s&lt; FMRI &gt;删除以清除它,然后 svcadm刷新&lt; FMRI &gt; 和 svcadm启用&lt; FMRI &gt; < /强>
如果服务处于维护状态,一旦您隔离并修复了问题,您可以通过运行 svcadm clear&lt; FMRI &GT; 强>