Details about DAA/SMD,host agent, sapstartsrv etc.
as technology consultant I came across a lot of confusion about topics like host agent, DAA, SMD, sapstartsrv and sapcontrol.
For what all this services are used? Which information is delivered from which one? Do I need them? When should I restart which service?
I will clarify all this questions in this blog to avoid future confusions.
All the communication threads are using the sapstreams (Unix: UNIX-Domain-Sockets / Windows: Windows named pipe).
For more information use the sap help.
|Installation||Will be installed with every SAP system|
|update||extract *SAR package from SMP => ./saphostexec -install or automatically over a network share|
|owner||sapadm / root|
|start / stop||saphostexec -restart | stop as root/sapadm|
|status||saphostexec -status or ps -ef | grep -i saphostexec or TX: ST06|
The host agent includes also other binaries like saposcol and sldreg.
binary which is responsible for the delivery of monitoring values (CPU, memory, I/O etc.) from the OS to ABAP and diagnostic agent/solman
saposcol was included in the normal instance kernel before kernel 720. With kernel 720 it is part of the host agent.
deliveres values for SLD (active if dev_sldr, dev_sldregs in instance work dir => /usr/sap/
You need it if you want to send all information of your system to SolMan
to activate it => sldreg -configure slddest.cfg –usekeyfile => creates a config file in global dir
will send data if you are restarting the sapstartsrv of the instance => sapcontrol -nr xx -function RestartService
Note: this will only restart the sapstartsrv not the SAP instance or the system!
|Installation||will be installed with the kernel|
|update||normal kernel update|
|start / stop||sapcontrol -nr xx -function RestartService | Stop | Start
|status||ps -ef |grep -i sapstartsrv|
|Details||is configured by default as boot service (details: 823941 – SAP start service on Unix platforms). check file /usr/sap/services|
|further info||sapstartsrv service parameters – Basis Corner – SCN Wiki|
Note: every instance has its own service => this means e.g. DAA, central services (SCS), host agent have its own sapstartsrv process
Over this service and its ports the execution of OS commands is possible. The sapcontrol binary controls this service and can restart the system.
This means SAP MC (Management Console) uses this port for communication and commands.
The service should be restarted if you change anything on your system, e.g. kernel, IP, hostname
DAA / SMD
In newer systems there is no difference between SMD and DAA. The diagnostic agent (DAA) is the newer description but includes the SMD which is more the instance description and DAA the SID. They renamed SMD to DAA, it is still nearly the same and you will find both names in the documentations or parameters.
|installation||with new system or afterwards single installation with SWPM|
|location||/usr/sap/DAA (old: /usr/sap/SMD)|
|logfile||files under /usr/sap/DAA/SMDAxx/work (xx should be 97 / 98)|
|SID||DAA / SMD|
|Instance number||98 (old 97)|
|Ports||59821 (DebugPort) 59813 (sapstartsrv) 59804 (replace 98 with 97 for old installation)|
|update||automatically over solution manager (LM-SERVICE Java component)
|start / stop||stopsap / startsap as daaadm (smdadm)|
|further info||Diagnostics Agents – SAP Solution Manager Setup – SCN Wiki|
Details: based on java instance
It is a central component of the solution manager. You should install it on every system which you want to connect to the SolMan. It provides necessary information for SLD/LMDB.
The sapcontrol binary uses the sapstartsrv to start/stop services, read out log and trace files, show details and status of processes
|update||normal kernel update|
You can only restart a service, instance or a complete system. Now some of you may be confused about this. Is the instance not the same as system?
No the instance is e.g. only the DIA instance but not the ASCS and the DB. When you stop the system, than all process which are registered in
You can display this also with a command: sapcontrol -nr xx -function GetSystemInstanceList
some useful functions:
GetStartProfile GetTraceFile GetAlerts GetEnvironment GetVersionInfo GetQueueStatistic GetProcessList GetInstanceProperties GetSystemInstanceList ABAPReadSyslog ABAPGetWPTable J2EEGetProcessList J2EEGetThreadList J2EEGetSessionList ICMGetCacheEntries EnqGetStatistic EnqGetLockTable CheckHostAgent
I hope I could clarify the meaning and usage of every service/binary.
If you have any further questions, don’t hestate to comment the blog or contact me or one of my colleagues at Q-Partners ( )
Technology Consultant at Q-Partners (www.qpcm.eu)