synopsys的license程序在Centos6.8下的问题

外地研发中心新增几台工作站,按照惯例对cadence、synopsys、mentor的license进行和谐后,启动license就可以使用了,有人反应synopsys在某台Server上有问题,根据他们的描述,于是远程连过去看下具体情况

1、首先确认环境变量是否正确

[[email protected] ~]$ which hspice

/app/synopsys/hspice/I-2013.12/hspice/bin/hspice

[[email protected] ~]$ which hspice64

/app/synopsys/hspice/I-2013.12/hspice/bin/hspice64

[[email protected] ~]$ hspice64

Using: /usr/bin/time -p /app/synopsys/hspice/I-2013.12/hspice/amd64/hspice

---------------------------------------------------------- ------

|                                                                                             |

|             HSPICE Version I-2013.12 64-BIT                           |

|                  SN: P20131125-RHEL64                                    |

|                    Machine Name: s09                                        |

|  Copyright (C) 2013 Synopsys, Inc. All Rights Reserved.   |

|                                                                                            |

---------------------------------------------------------- ------

HSPICE Usage:

simulation mode:

hspice [input_file] { -i input_file | -n #num | -d | -x

-o [output_file] | -html [html_file] | -mt #num | -mp [#num]

-dp [#num] | -dpconfig [dp_configuration_file] | -dplocation [NFS|TMP] | -me

rge |         -gz | -hdl filename | -hdlpath pathname | -vamodel name }

根据输出,可以断定环境变量没问题。

2、查看license进程

[[email protected] synopsys]# ps -ef |grep lmgrd

edadmin  17649     1  0 14:52 pts/2    00:00:00 /var/LIC/synopsys/lmgrd -c /var/LIC/synopsys/synopsys.dat -l /var/LIC/synopsys/logcarlos     23351 17526  0 20:20 pts/8    00:00:00 grep lmgrd

发现缺少一个snpslmd 进程.

3、重启license并生成log

[[email protected] ]$ /var/LIC/synopsys/lmgrd -c /var/LIC/synopsys/synopsys.dat -l /var/LIC/synopsys/log

在log中发现有异常TCP_NODELAY NOT enabled

查阅后是Hostid与Mac不对应会出现上述情况。

4、查看本机的Hostid与MAC信息

[[email protected] bin]# pwd

/app/synopsys/SCL/11.11.1/linux64/bin

[[email protected] bin]# ./lmhostid

lmhostid - Copyright (c) 1989-2015 Flexera Software LLC. All Rights Reserved.

The FlexNet host ID of this machine is ""××604b7ec981 ××604b7ec982""

Only use ONE from the list of hostids.

[[email protected] ]# ifconfig -a

eth0      Link encap:Ethernet  HWaddr ××:60:4B:7E:C9:82

inet addr:10.10.10.19  Bcast:10.10.10.255  Mask:255.255.255.0

inet6 addr: fe80::1260:4bff:fe7e:c982/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:13709993 errors:0 dropped:0 overruns:0 frame:0

TX packets:13582244 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:6085098527 (5.6 GiB)  TX bytes:6456766880 (6.0 GiB)

Interrupt:20 Memory:eff00000-eff20000

eth1      Link encap:Ethernet  HWaddr ××:60:4B:7E:C9:81

BROADCAST MULTICAST  MTU:1500  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Interrupt:17 Memory:efe00000-efe20000

[[email protected] ~]# vi /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules

# program, run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single

# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x1502 (e1000e)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="××:60:4b:7e:c9:82", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x10d3 (e1000e)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="××:60:4b:7e:c9:81", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

看到license的信息

[[email protected] synopsys]# more synopsys.dat

SERVER s09  ××604B7EC982 27000

VENDOR snpslmd /var/LIC/synopsys/snpslmd

synopsys一般会去找eth0,默认会使用首个Hostid,猜测因为MAC地址不对应造成的。

5、便使用另个Mac重新和谐,并启动license

[[email protected] log]$ /var/LIC/synopsys/lmgrd -c /var/LIC/synopsys/synopsys.dat -l /var/LIC/synopsys/log

[[email protected] ~]# ps -ef |grep lmgrd

edadmin  25209     1  0 16:35 pts/8    00:00:00 /var/LIC/synopsys/lmgrd -c /var/LIC/synopsys/synopsys.dat -l /var/LIC/synopsys/logedadmin  30058 25209  2 22:07 ?        00:00:13 snpslmd -T s09 11.12 3 -c /var/LIC/synopsys/synopsys.dat -srv LbMe?3s???dE?cspk)/T?]2E2V]?p?yz{T.%mon?#[sGlOE^?C?{9S/?r?W?r#s --lmgrd_start 58f3210 -vdrestart 16carlos     30153 25560  0 22:15 pts/4    00:00:00 grep lmgrd

查看启动时的log,发现没有刚才的ERROR了

6、重新运行hspice后,暂时没有异常,但是运行一段时间后,又有新问题出现。

7、查看Hspice的log

****** HSPICE -- I-2013.12 64-BIT (Nov 25 2013) RHEL64 ******

Copyright (C) 2013 Synopsys, Inc. All Rights Reserved.

Unpublished-rights reserved under US copyright laws.

This program is protected by law and is subject to the

terms and conditions of the license agreement from Synopsys.

Use of this program is your acarloseptance to be bound by the

license agreement. HSPICE is the trademark of Synopsys, Inc.

Input File: test.sp

Command line options: test.sp -o test.lis -mt 4

lic:

lic: FLEXlm: v10.9.8

lic: USER:   jcarloshen               HOSTNAME: s09

lic: HOSTID: XX604b7ec982         PID:      30169

lic: Cannot read data from license server system.  The license server system appears to be running,

**error** invalid memory reference

提示无法从许可证服务器系统读取数据。许可证服务器系统似乎正在运行。**错误*无效的内存引用。

8、查看license运行情况

[[email protected] ]# ps -ef |grep lmgrd

edadmin  30378     1  0 22:31 pts/8    00:00:00 /var/LIC/synopsys/lmgrd -c /var/LIC/synopsys/synopsys.dat -l /var/LIC/synopsys/log

发现一个进程异常停止。

9、查看另外server情况。

[[email protected] ~]# lsb_release -a

LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:

printing-4.0-ia32:printing-4.0-noarchDistributor ID: CentOS

Description: CentOS release 5.9 (Final)

Release: 5.9

Codename: Final

系统版本Centos5.9

[[email protected] ~]# cd /app/synopsys/SCL/11.11.1/linux64/bin/

[[email protected] bin]# ./lmhostid

lmhostid - Copyright (c) 1989-2015 Flexera Software LLC. All Rights Reserved.

The FlexNet host ID of this machine is ""××604b7e105b ××604b7e105c""

Only use ONE from the list of hostids.

[[email protected] bin]# ifconfig -a

eth0      Link encap:Ethernet  HWaddr ××:60:4B:7E:10:5C

inet addr:10.10.10.16  Bcast:10.10.10.255  Mask:255.255.255.0

inet6 addr: fe80::1260:4bff:fe7e:carlos5c/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:66614905 errors:0 dropped:0 overruns:0 frame:0

TX packets:76415073 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:34874497627 (32.4 GiB)  TX bytes:48450863867 (45.1 GiB)

Interrupt:138 Memory:eff00000-eff20000

eth1      Link encap:Ethernet  HWaddr ××:60:4B:7E:10:5B

BROADCAST MULTICAST  MTU:1500  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Interrupt:201 Memory:efe00000-efe20000

[[email protected] bin]# more /var/LIC/synopsys/synopsys.dat

SERVER s06 ××604B7E105C 27000

VENDOR snpslmd /var/LIC/synopsys/snpslmd

USE_SERVER

[[email protected] ~]# lsb_release -a

LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:p

rinting-4.0-noarchDistributor ID: CentOS

Description: CentOS release 6.8 (Final)

Release: 6.8

Codename: Final

系统版本为Centos6..8

两台工作站硬件一样,license都是使用的第二个Hostid和谐的,系统版本不一样,判定license跟使用哪个Hostid无关。

10、查看系统的日志信息

[[email protected] ~]# dmesg

......

ata4: EH complete

snpslmd[31655]: segfault at 6c153990 ip 0000003982134cfc sp 00007f1f71ae7d28 error 4 in libc-2.12.so[3982000000+18a000]

ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen

ata4.00: failed command: SMART

...

snpslmd‘ doesn‘t belong to any package and ProcessUnpackaged i s set to ‘no‘

...

ata4.01: SATA link down (SStatus 0 SControl 0)

ata4.00: configured for UDMA/100

ata4: EH complete

Saved core dump of pid 3498 (/var/LIC/synopsys/snpslmd) to /var/spool/abrt/ccpp-2017-04-15-00:00:38-3498 (262381568 bytes)
abrtd: Directory ‘ccpp-2017-04-15-00:00:38-3498‘ creation detected

......

Apr 17 00:11:02 s09 kernel: snpslmd[31655]: segfault at 6c153990 ip 0000003982134cfc sp 00007f1f71ae7d28 error 4 in libc-2.12.so[398200000

0+18a000]Apr 17 00:30:19 s09 kernel: ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen

......

#########################T H R E A D############################

问题结论:

查看message日志发现, 创建堆转存储时,访问到了非法内存地址,从而导致进程coredump,并生成了coredump文件,由于操作系统设置了不生成core文件,导致生成dump文件被删除。

在RHEL/CentOS 64位(32位没用过)6.0以上版本中,有core文件被截断的问题,即使你已经设置了ulimit -S -c unlimited。

原因好像是因为core pattern设置是abrt,abrt的问题导致core文件很小或者不产生core文件。解决的方法是不使用abrt作为core pattern。

查看机器的core pattern的设置:

sysctl -a | grep core_pattern

或者:

cat /proc/sys/kernel/core_pattern

如果core pattern设置成了abrt,改成core方式:

[[email protected] ~] sysctl -w kernel.core_pattern=core.%p.%e
kernel.core_pattern = core.%p.%e

或者:
[[email protected] ~] sysctl -w kernel.core_pattern=core.%p
kernel.core_pattern = core.%p

在Linux下要保证程序崩溃时生成Coredump要注意这些问题:

一、要保证存放Coredump的目录存在且进程对该目录有写权限。存放Coredump的目录即进程的当前目录,一般就是当初发出命令启动该进程时所在的目录。但如果是通过脚本启动,则脚本可能会修改当前目录,这时进程真正的当前目录就会与当初执行脚本所在目录不同。这时可以查看”/proc/<进程pid>/cwd“符号链接的目标来确定进程真正的当前目录地址。通过系统服务启动的进程也可通过这一方法查看。

二、若程序调用了seteuid()/setegid()改变了进程的有效用户或组,则在默认情况下系统不会为这些进程生成Coredump。很多服务程序都会调用seteuid(),如Mysql,不论你用什么用户运行mysqld_safe启动MySQL,mysqld进行的有效用户始终是msyql用户。如果你当初是以用户A运行了某个程序,但在ps里看到的这个程序的用户却是B的话,那么这些进程就是调用了seteuid了。为了能够让这些进程生成core dump,需要将/proc/sys/fs /suid_dumpable文件的内容改为1(一般默认是0)。

三、要设置足够大的Core文件大小限制了。程序崩溃时生成的Core文件大小即为程序运行时占用的内存大小。但程序崩溃时的行为不可按平常时的行为来估计,比如缓冲区溢出等错误可能导致堆栈被破坏,因此经常会出现某个变量的值被修改成乱七八糟的,然后程序用这个大小去申请内存就可能导致程序比平常时多占用很多内存。因此无论程序正常运行时占用的内存多么少,要保证生成Core文件还是将大小限制设为unlimited为好。

在shell里使用命令:ulimit -c unlimited,这样进行修改只是对本次会话有效,是临时的,如果想让修改永久生效,则需要修改配置文件,如.bash_profile、/etc/profile或/etc/security/limits.conf

参考文档:

https://bugzilla.redhat.com/show_bug.cgi?id=583407

http://www.cnblogs.com/sjpisaboy/articles/210228.html

http://www.newsmth.net/nForum/#!article/METech/207964

时间: 2024-10-07 16:09:07

synopsys的license程序在Centos6.8下的问题的相关文章

centos6.8下安装dc2012

前言 centos6.8系统中安装synopsys公司的design compiler 2012. 流程 1.请掌握必要的linux知识,否则你将获得成吨的困难. linux系统:centos 6.8 64位. 32位系统不适用本教程. Synopsys软件包百度云地址:http://pan.baidu.com/s/1qXYyVBu  密码:5spa 2.解压文件. 推荐window下解压文件,linux下解压得安装软件支持7z以及rar.当然我是linux下解压的,windows下解压可能有错

Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp

一.安装JDK环境 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 64位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz 32位:http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-

python之 centos6.7下 python 3.5.2 源码、Django-1.9 安装

在linux6.5中已经自带了python 2 .python 2.6 ,并且yum程序使用的就是自带的python,所以系统自带的python不要随意卸载否则可能导致yum用不了. 测试环境:centos6.7python:python 3.5.2:下载地址:https://www.python.org/ftp/python/3.5.2/先配置本地yum源, 配置方法,参考:http://blog.csdn.net/zhang123456456/article/details/56690945

Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同

CentOS6.5下安装apache2.2和PHP 5.5.28

CentOS6.5下安装apache2.2 1. 准备程序 :httpd-2.2.27.tar.gz 下载地址:http://httpd.apache.org/download.cgi#apache22apr-1.5.1.tar.gz 下载地址:http://apache.spd.co.il/apr/apr-util-1.5.3.tar.gz下载地址:http://apache.spd.co.il/apr/ 安装apr-1.5.1.tar.gz 1.Copy root文件夹2. Cd /root

centos6.5下安装python3安装、python3虚拟环境创建venv

原因:在安装完centos6.5后,通过命令行键入python时,默认为python2.6.6版本,系统并没有安装python3版本.又想学习python3,因此需要在centos6.5下安装python3版本. <python3安装> 1.下载python3的安装包: (1)如果能够联网,则直接: [[email protected] 3pyex]# wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz 其中,我这里安装的

centos6.6下安装MySQLdb时出现“error: command &#39;gcc&#39; failed with exit status 1”

1. 问题描述 在MySQL-python-1.2.3源码包根目录下执行安装命令: # python setup.py install 出现以下信息: error: command 'gcc' failed with exit status 1 2. 解决方法 在安装MySQLdb前安装以下依赖库: # yum install python-devel mysql-devel zlib-devel openssl-devel 安装完以上依赖库后, 再在MySQL-python-1.2.3源码包根

Centos6.3下Ganglia3.6.0安装配置

最近安装Ganglia,由于之前Linux基础基本为0,因此费了很大的周折.最后在失败了好多次之后终于看到了梦寐以求的web界面.下面总结下这几天来的工作. ganglia是一个监控软件,他包含三部分:Gmond,Gmetad和Gweb.在需要监控的主机上安装Gmond,他会采集当前主机上的一些信息:Gmetad部署在服务器端,它轮训主机,收集Gmond采集的主机信息,然后存在在rrdtool数据库中:Gweb是一个前台显示的界面,他读取Gmetad保存的rrd文件,显示在web界面上. 部署规

CentOS6.2下搭建LNMP、安装wordpress(大神请远离)

CentOS6.2下搭建LNMP.安装wordpress参考文章:http://www.linuxidc.com/Linux/2014-08/105128.htm 早就给自己安排好了要做的事情,但是每天被繁琐的事情所忙,把去年该做的事情一直拖到了现在.终于在今天,小心脏多跳了几下,手一抖,开始下手去做了,结果半天就这样过去了.时间过得真快啊,尤其是在自己有事情做地时候.        好了,开始记录了,权做写的日记了       先上图,看下成果:(后台管理部分) (貌似很卡顿的样子,是不是该优