<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.fam-puls.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hendrik</id>
	<title>XccesS Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.fam-puls.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hendrik"/>
	<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Spezial:Beitr%C3%A4ge/Hendrik"/>
	<updated>2026-07-18T10:05:48Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP&amp;diff=541</id>
		<title>SAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP&amp;diff=541"/>
		<updated>2026-06-17T07:46:21Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* JAVA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
SAP ist ein deutsches Software-Unternehmen, das sich auf die Entwicklung und den Verkauf von Unternehmenssoftware spezialisiert hat. Die Software-Lösungen von SAP decken eine Vielzahl von Geschäftsbereichen ab, wie z.B. Finanzwesen, Personalwesen, Einkauf und Vertrieb. Die Produkte von SAP werden von Unternehmen aller Größenordnungen genutzt, um Geschäftsprozesse zu optimieren, Daten zu verwalten und bessere Entscheidungen zu treffen. Zu den bekanntesten SAP-Produkten gehören SAP ERP, SAP HANA und SAP S/4HANA.&lt;br /&gt;
===SWPM starten===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./sapinst SAPINST_STACK_XML=stack.xml SAPINST_USE_HOSTNAME=&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SUM starten===&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
=====ABAP=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/$SID/SUM&lt;br /&gt;
rm -R ./SUM&lt;br /&gt;
SAPCAR -xvf ./SUM11SP05_0-80006800.SAR&lt;br /&gt;
cd SUM/abap/&lt;br /&gt;
sudo ./SUMSTART confighostagent $SAPSYSTEMNAME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=====JAVA=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/$SID/SUM&lt;br /&gt;
rm -R ./SUM&lt;br /&gt;
SAPCAR -xvf ./SUM*.SAR&lt;br /&gt;
cd SUM&lt;br /&gt;
sudo ./STARTUP confighostagent $SAPSYSTEMNAME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Windows====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
STARTUP.BAT confighostagent &amp;lt;SID&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SAP Host Agent===&lt;br /&gt;
====Version überprüfen==== &lt;br /&gt;
[https://me.sap.com/notes/0002032385 Note 0002032385]&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
%Program Files%\SAP\hostctrl\exe\saphostexec.exe -version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostexec -version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Aktualisieren====&lt;br /&gt;
SAR Archiv herunterladen und nach /usr/sap/Z36/SUM kopieren&lt;br /&gt;
als root am System anmelden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostexec -upgrade -archive /usr/sap/&amp;lt;SID&amp;gt;/SUM/&amp;lt;ARCHIV&amp;gt;.SAR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Kernelupdate===&lt;br /&gt;
&#039;&#039;Siehe auch Workitem 2L-DB-SAP-00026: SAP Kerneltausch&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aktuellen Kernel herausfinden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
disp+work -v | grep &amp;quot;patch number&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Kernel Backup erstellen und alte Backups löschen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/&lt;br /&gt;
rm -R linuxx86_64_*&lt;br /&gt;
cp -R linuxx86_64 linuxx86_64_&amp;lt;DATUM&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal] aufrufen und nach &amp;quot;SAP KERNEL 7.85 64-BIT UNICODE&amp;quot; suchen&lt;br /&gt;
Die Archive herunterladen&lt;br /&gt;
Nach /sapmnt/SID/exe/uc/linuxx86_64/ kopieren&lt;br /&gt;
Ggf. noch Dateiberechtigungen korrigieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chown -R &amp;lt;SIDADM&amp;gt;:sapsys *.SAR &amp;amp;&amp;amp; chown -R &amp;lt;SIDADM&amp;gt;:sapsys *.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der richtigen Reihenfolge entpacken:&lt;br /&gt;
# SAPEXEDB.SAR&lt;br /&gt;
# SAPEXE.SAR&lt;br /&gt;
# dw_utils&lt;br /&gt;
# dw&lt;br /&gt;
# R3Trans&lt;br /&gt;
# tp&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/linuxx86_64/&lt;br /&gt;
SAPCAR -xvf SAPEXEDB_*.SAR&lt;br /&gt;
SAPCAR -xvf SAPEXE_*.SAR&lt;br /&gt;
SAPCAR -xvf R3trans_*.SAR&lt;br /&gt;
SAPCAR -xvf tp_*.sar&lt;br /&gt;
SAPCAR -xvf sapftp_*.sar&lt;br /&gt;
SAPCAR -xvf dw_*-*.sar&lt;br /&gt;
SAPCAR -xvf dw_utils*.sar&lt;br /&gt;
SAPCAR -xvf lib_dbsl*.sar&lt;br /&gt;
SAPCAR -xvf sapwebgui*.sar&lt;br /&gt;
SAPCAR -xvf saphttp_*.sar&lt;br /&gt;
SAPCAR -xvf abap2vcs_*.sar&lt;br /&gt;
SAPCAR -xvf SYBCTRL*.SAR&lt;br /&gt;
SAPCAR -xvf sapnwrfc_*.sar&lt;br /&gt;
SAPCAR -xvf ENSA2_*.SAR&lt;br /&gt;
SAPCAR -xvf saplicense_*.sar&lt;br /&gt;
SAPCAR -xvf enserver_*.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Aufräumen und alte SAR Archive löschen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/linuxx86_64/ &amp;amp;&amp;amp; rm *.SAR &amp;amp;&amp;amp; rm *.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder in Kurzform:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -r | grep -i &#039;.*[0-9].*\.sar$&#039; | xargs -I {} SAPCAR -xvf {}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Dies entpackt alle sar Archive, die eine Versionsnummer im Namen enthalten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis: vorher Kontrollieren ob mit der Ausgabe ls -r tatsächlich SAPEXEDB &#039;&#039;&#039;vor&#039;&#039;&#039; SAPEXE ausgegeben wird.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
SAP neustarten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sapcontrol -nr 00 -function RestartSystem &amp;amp;&amp;amp; watch -n 1 sapcontrol -nr 00 -function GetProcessList&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Oracle Nacharbeiten====&lt;br /&gt;
Falls als DB die Oracle DB verwendet wird, müssen noch Berechtigungen nachgezogen werden, da es sonst zu Problemen mit BRTOOLS kommen kann.&lt;br /&gt;
Als root unter /sapmnt/&amp;lt;SID&amp;gt;/exe/nuc/linuxx86_64:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R 4775 brrestore brspace brrecover brconnect brbackup brarchive&lt;br /&gt;
chown -R oracle:oinstall brrestore brspace brrecover brconnect brbackup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Memory Parameter prüfen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cdpro&lt;br /&gt;
sappfpar check pf=&amp;lt;profile_file&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===JAVA===&lt;br /&gt;
====Sysinfo.xml generieren====&lt;br /&gt;
https://me.sap.com/notes/2293050&lt;br /&gt;
====Java patchen====&lt;br /&gt;
Patches unter /usr/sap/&amp;lt;SID&amp;gt;/SUM/ ablegen&lt;br /&gt;
&lt;br /&gt;
Als &amp;lt;SID&amp;gt;adm anmelden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
telnet localhost 50108&lt;br /&gt;
Administrator &lt;br /&gt;
&amp;lt;PW&amp;gt;&lt;br /&gt;
VERSION&lt;br /&gt;
add deploy &lt;br /&gt;
deploy /usr/sap/&amp;lt;SID&amp;gt;/SUM/ version_rule=all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Eventuell SAP stoppen und wieder starten&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dura9708:djpadm 73&amp;gt; ls -ltr&lt;br /&gt;
total 169596&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  18675603 Apr 28 10:29 MESSAGING24P_21-80000682.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  25564663 Apr 28 10:29 J2EEFRMW24P_4-80000439.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  14020864 Apr 28 10:29 ENGINEAPI24P_4-80000618.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys 115196425 Apr 28 10:29 SERVERCORE24P_15-80000485.SCA&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Adobe_Document_Server&amp;diff=540</id>
		<title>Adobe Document Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Adobe_Document_Server&amp;diff=540"/>
		<updated>2026-06-17T07:46:08Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
Aktuellen Patch herunterladen https://me.sap.com/softwarecenter/support/index&lt;br /&gt;
&lt;br /&gt;
ADOBE DOCUMENT SERVICES 7.50 ADSSAP27P_2-80000623.SCA&lt;br /&gt;
&lt;br /&gt;
SCA Archiv nach /usr/sap/&amp;lt;SID&amp;gt;/SUM/ hochladen&lt;br /&gt;
&lt;br /&gt;
telnet localhost 50008&lt;br /&gt;
&lt;br /&gt;
VERSION&lt;br /&gt;
&lt;br /&gt;
add deploy &lt;br /&gt;
&lt;br /&gt;
deploy /usr/sap/&amp;lt;SID&amp;gt;/SUM/ version_rule=all&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_Cloud_Connector&amp;diff=539</id>
		<title>SAP Cloud Connector</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_Cloud_Connector&amp;diff=539"/>
		<updated>2026-06-16T13:06:24Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Linux (SUSE/RHEL) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
Der &#039;&#039;&#039;SAP Cloud Connector&#039;&#039;&#039; ist eine on-premise Komponente, die eine sichere Verbindung zwischen SAP Business Technology Platform (BTP) Cloud-Anwendungen und on-premise SAP-Systemen herstellt. Er fungiert als sicherer Tunnel und Reverse-Proxy für die Kommunikation zwischen Cloud und On-Premise Umgebungen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hauptfunktionen:&#039;&#039;&#039;&lt;br /&gt;
* Sichere Verbindung zwischen SAP BTP und On-Premise Systemen&lt;br /&gt;
* SSL/TLS verschlüsselte Kommunikation&lt;br /&gt;
* Access Control für Backend-Systeme&lt;br /&gt;
* High Availability Unterstützung (Master/Shadow)&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
* URL: [https://tools.hana.ondemand.com/#cloud/ SAP Development Tools]&lt;br /&gt;
* Navigation: SAP BTP → Cloud Connector&lt;br /&gt;
* Aktuelle Version: 2.18.x oder höher&lt;br /&gt;
&lt;br /&gt;
=== Linux (SUSE/RHEL) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Download und Installation&lt;br /&gt;
sudo rpm -U com.sap.scc-ui-*.x86_64.rpm &amp;amp;&amp;amp; sudo systemctl restart scc_daemon&lt;br /&gt;
&lt;br /&gt;
# Version verifizieren&lt;br /&gt;
sudo cat /opt/sap/scc/version.properties&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cmd&amp;quot;&amp;gt;&lt;br /&gt;
REM MSI Installer als Administrator ausführen&lt;br /&gt;
sapcc-*.msi&lt;br /&gt;
&lt;br /&gt;
REM Service wird automatisch installiert und gestartet&lt;br /&gt;
REM Standardpfad: C:\SAP\scc&lt;br /&gt;
&lt;br /&gt;
REM Service Status prüfen&lt;br /&gt;
sc query &amp;quot;SAP Cloud Connector&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Initial Setup ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Admin UI aufrufen&lt;br /&gt;
# URL: https://localhost:8443&lt;br /&gt;
&lt;br /&gt;
# Initial Credentials:&lt;br /&gt;
# User: Administrator&lt;br /&gt;
# Password: manage&lt;br /&gt;
&lt;br /&gt;
# WICHTIG: Password sofort über &amp;quot;Change Password&amp;quot; ändern!&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rpm -U com.sap.scc-ui-&amp;lt;version&amp;gt;.rpm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
=== Passwort ändern ===&lt;br /&gt;
Anmelden und links im Menü auf &amp;quot;Configuration&amp;quot; klicken. Dann unter User Administration auf den Stift klicken.&lt;br /&gt;
&lt;br /&gt;
=== Zertifikate erneuern ===&lt;br /&gt;
==== Systemzertifikat ====&lt;br /&gt;
Das Systemzertifikat ist self-signed und kann unter Configuration - On-Premises mit dem &amp;quot;Neu&amp;quot; Symbol einfach aktualisiert werden. DIe alten Daten werden hierbei übernommen.&lt;br /&gt;
==== Subaccount Zertifikat und Verbindung ====&lt;br /&gt;
Dies kann ebenfalls erneuert werden wenn man einen Subaccount auswählt und auf das Symbol &amp;quot;Zertifikat erneuern&amp;quot; klickt. Hierbei sind die Zugangsdaten vom entsprechenden Account einzugeben.&lt;br /&gt;
&lt;br /&gt;
== Nützliche Links ==&lt;br /&gt;
* [https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/cloud-connector Cloud Connector Administration Guide]&lt;br /&gt;
* [https://tools.hana.ondemand.com/ SAP Development Tools Portal]&lt;br /&gt;
* [https://userapps.support.sap.com/sap/support/knowledge/en/2539713 SAP Note 2539713 - Cloud Connector Upgrade]&lt;br /&gt;
* [https://community.sap.com/topics/cloud-connector SAP Community - Cloud Connector]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=538</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=538"/>
		<updated>2026-06-03T12:43:59Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Alle Pfade beziehen sich auf &amp;lt;code&amp;gt;/home/hendrik/Programme/llama.cpp/&amp;lt;/code&amp;gt; als Installationsverzeichnis. Bitte entsprechend anpassen.&lt;br /&gt;
&lt;br /&gt;
== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;llama.cpp&#039;&#039;&#039; ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ik_llama.cpp&#039;&#039;&#039; ist ein optimierter Fork von llama.cpp mit zusätzlichen Performance-Verbesserungen und Unterstützung für neuere GPU-Architekturen (z.B. gfx1151 / Strix Halo).&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;llama.cpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp ~/Programme/llama.cpp&lt;br /&gt;
cd ~/Programme/llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ik_llama.cpp:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ikawrakow/ik_llama.cpp ~/Programme/llama.cpp&lt;br /&gt;
cd ~/Programme/llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Voraussetzungen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! GPU !! Architektur !! Standard-Target&lt;br /&gt;
|-&lt;br /&gt;
| RX 7900 XTX || gfx1100 || &#039;&#039;&#039;ja&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Strix Halo || gfx1151 || &#039;&#039;&#039;ja&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| MI50 / MI60 || gfx906 || separater Build (siehe unten)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Vulkan Build ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Gilt für llama.cpp und ik_llama.cpp.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen, entpacken, ins Verzeichnis wechseln und &amp;lt;code&amp;gt;source setup-env.sh&amp;lt;/code&amp;gt; ausführen. Dann ins llama.cpp-Verzeichnis wechseln:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source ~/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd ~/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1 -DGGML_RPC=ON        # llama.cpp&lt;br /&gt;
# cmake -B build-vulkan -DLLAMA_VULKAN=on -DGGML_RPC=ON     # ik_llama.cpp&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0) ===&lt;br /&gt;
&lt;br /&gt;
==== ROCm Quick-Install ====&lt;br /&gt;
&lt;br /&gt;
Alle Befehle von der [https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html ROCm Quick-Start Seite] ausführen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig für MI50 (gfx906) mit ROCm 6.4:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Vor dem Reboot die rocblas-Bibliothek aus dem AUR ergänzen:&lt;br /&gt;
&lt;br /&gt;
# [https://archlinux.org/packages/extra/x86_64/rocblas/ rocblas aus dem AUR] herunterladen (Version 6.4)&lt;br /&gt;
# Entpacken&lt;br /&gt;
# Alle Tensor-Dateien mit &amp;lt;code&amp;gt;gfx906&amp;lt;/code&amp;gt; im Namen von &amp;lt;code&amp;gt;rocblas-…/opt/rocm/lib/rocblas/library&amp;lt;/code&amp;gt; nach &amp;lt;code&amp;gt;/opt/rocm/lib/rocblas/library&amp;lt;/code&amp;gt; kopieren&lt;br /&gt;
# Reboot&lt;br /&gt;
# Prüfen: &amp;lt;code&amp;gt;sudo update-alternatives --display rocm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Umgebung einrichten (optional, bei Fehlern) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== llama.cpp kompilieren (ROCm) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/Programme/llama.cpp/ &amp;amp;&amp;amp; git pull &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DGGML_RPC=ON -DAMDGPU_TARGETS=gfx1100,gfx1151 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Für MI50 (gfx906) — separater Build:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DGGML_RPC=ON -DAMDGPU_TARGETS=gfx906 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ik_llama.cpp kompilieren (ROCm) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DGGML_RPC=ON -DAMDGPU_TARGETS=gfx1100,gfx1151 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Build prüfen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
./build/bin/llama-server --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
=== llama-server als systemd Service einrichten ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=hendrik&lt;br /&gt;
Group=hendrik&lt;br /&gt;
WorkingDirectory=/home/hendrik/Programme/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/hendrik/Programme/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/hendrik/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable llama-server     # Auto-Start beim Boot&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
sudo systemctl status llama-server     # Status prüfen&lt;br /&gt;
sudo journalctl -u llama-server -f     # Logs verfolgen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service verwalten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl stop llama-server       # Stoppen&lt;br /&gt;
sudo systemctl restart llama-server    # Neustarten&lt;br /&gt;
sudo systemctl disable llama-server    # Autostart deaktivieren&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Manuelle Server-Starts ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) — optimal:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RPC — Verteiltes Inference über mehrere Hosts ===&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;-DGGML_RPC=ON&amp;lt;/code&amp;gt; wird der &amp;lt;code&amp;gt;rpc-server&amp;lt;/code&amp;gt; mitgebaut, der es ermöglicht, die Inferenz über das Netzwerk auf mehrere Maschinen zu verteilen. Jeder Remote-Host stellt seine GPU(s) über einen rpc-server zur Verfügung; der Main-Host verbindet sich darüber mit &amp;lt;code&amp;gt;--rpc&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Voraussetzung:&#039;&#039;&#039; Auf &#039;&#039;&#039;allen&#039;&#039;&#039; Hosts muss llama.cpp mit &amp;lt;code&amp;gt;-DGGML_RPC=ON&amp;lt;/code&amp;gt; kompiliert sein (siehe Build-Abschnitte oben). Die Netzwerkverbindung zwischen den Hosts muss bestehen.&lt;br /&gt;
&lt;br /&gt;
==== 1. RPC-Server auf allen Remote-Hosts starten ====&lt;br /&gt;
&lt;br /&gt;
Auf jedem Host, der seine GPU zur Verfügung stellen soll:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/Programme/llama.cpp/&lt;br /&gt;
./build/bin/rpc-server --host 0.0.0.0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Standardmäßig lauscht der rpc-server auf Port &#039;&#039;&#039;50052&#039;&#039;&#039;. Mit &amp;lt;code&amp;gt;--port&amp;lt;/code&amp;gt; kann ein anderer Port gewählt werden.&lt;br /&gt;
&lt;br /&gt;
==== 2. llama-server auf dem Main-Host starten ====&lt;br /&gt;
&lt;br /&gt;
Auf dem Host, der die Inferenz koordiniert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
./llama-server \&lt;br /&gt;
  --model ~/.lmstudio/models/unsloth/Step-3.7-Flash-GGUF/Step-3.7-Flash-UD-IQ4_XS-00001-of-00003.gguf \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  --rpc localhost:50052,192.168.1.19:50052&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei ist &amp;lt;code&amp;gt;localhost:50052&amp;lt;/code&amp;gt; die lokale GPU und &amp;lt;code&amp;gt;192.168.1.19:50052&amp;lt;/code&amp;gt; die Remote-GPU.&lt;br /&gt;
&lt;br /&gt;
==== rpc-server als systemd Service (Remote-Host) ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-rpc.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp RPC Server (Remote GPU)&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=hendrik&lt;br /&gt;
Group=hendrik&lt;br /&gt;
WorkingDirectory=/home/hendrik/Programme/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ExecStart=/home/hendrik/Programme/llama.cpp/build/bin/rpc-server --host 0.0.0.0&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-rpc&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktivieren:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now llama-rpc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/Programme/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Services neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
sudo systemctl restart llama-rpc    # falls RPC-Service läuft&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameter-Referenz ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-ngl 99&amp;lt;/code&amp;gt; || Alle Layer auf GPU auslagern (Langform: &amp;lt;code&amp;gt;--gpu-layers&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-fa 1&amp;lt;/code&amp;gt; || Flash Attention aktivieren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-c 32768&amp;lt;/code&amp;gt; || Kontextfenster-Größe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-b 2048&amp;lt;/code&amp;gt; || Batch-Size&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-ub 2048&amp;lt;/code&amp;gt; || Physical USB batch size&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--split-mode row&amp;lt;/code&amp;gt; || Tensor-Split-Modus (Multi-GPU)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--tensor-split 0.5,0.5&amp;lt;/code&amp;gt; || Gleichmäßige Aufteilung auf 2 GPUs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--parallel 1&amp;lt;/code&amp;gt; || Anzahl paralleler Sequenzen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--jinja&amp;lt;/code&amp;gt; || Jinja-Template-Support für Chat&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--rpc host:port,…&amp;lt;/code&amp;gt; || RPC-Backends für verteiltes Inference&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-DGGML_RPC=ON&amp;lt;/code&amp;gt; || CMake-Flag: RPC-Support einkompilieren&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=537</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=537"/>
		<updated>2026-06-03T12:38:30Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Beschreibung ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;llama.cpp&#039;&#039;&#039; ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ik_llama.cpp&#039;&#039;&#039; ist ein optimierter Fork von llama.cpp mit zusätzlichen Performance-Verbesserungen und Unterstützung für neuere GPU-Architekturen (z.B. gfx1151 / Strix Halo).&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ik_llama.cpp den entsprechenden Fork klonen.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Vulkan Build ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Gilt für llama.cpp und ik_llama.cpp.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen, entpacken, ins Verzeichnis wechseln und &amp;lt;code&amp;gt;source setup-env.sh&amp;lt;/code&amp;gt; ausführen. Dann ins llama.cpp-Verzeichnis wechseln:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1 -DGGML_RPC=ON        # llama.cpp&lt;br /&gt;
# cmake -B build-vulkan -DLLAMA_VULKAN=on -DGGML_RPC=ON     # ik_llama.cpp&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0) ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! GPU !! Architektur !! Bemerkung&lt;br /&gt;
|-&lt;br /&gt;
| MI50 / MI60 || gfx906 || nur llama.cpp&lt;br /&gt;
|-&lt;br /&gt;
| RX 7900 XTX || gfx1100 ||&lt;br /&gt;
|-&lt;br /&gt;
| Strix Halo || gfx1151 || nur ik_llama.cpp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== ROCm Quick-Install ===&lt;br /&gt;
&lt;br /&gt;
Alle Befehle von der [https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html ROCm Quick-Start Seite] ausführen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig für MI50 (gfx906) mit ROCm 6.4:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Vor dem Reboot die rocblas-Bibliothek aus dem AUR ergänzen:&lt;br /&gt;
&lt;br /&gt;
# [https://archlinux.org/packages/extra/x86_64/rocblas/ rocblas aus dem AUR] herunterladen (Version 6.4)&lt;br /&gt;
# Entpacken&lt;br /&gt;
# Alle Tensor-Dateien mit &amp;lt;code&amp;gt;gfx906&amp;lt;/code&amp;gt; im Namen von &amp;lt;code&amp;gt;rocblas-…/opt/rocm/lib/rocblas/library&amp;lt;/code&amp;gt; nach &amp;lt;code&amp;gt;/opt/rocm/lib/rocblas/library&amp;lt;/code&amp;gt; kopieren&lt;br /&gt;
# Reboot&lt;br /&gt;
# Prüfen: &amp;lt;code&amp;gt;sudo update-alternatives --display rocm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Umgebung einrichten (optional, bei Fehlern) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== llama.cpp kompilieren (ROCm) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; git pull &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DGGML_RPC=ON -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DGGML_RPC=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ik_llama.cpp kompilieren (ROCm) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DGGML_RPC=ON -DAMDGPU_TARGETS=gfx1100,gfx1151 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
=== llama-server als systemd Service einrichten ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/Programme/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/Programme/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable llama-server     # Auto-Start beim Boot&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
sudo systemctl status llama-server     # Status prüfen&lt;br /&gt;
sudo journalctl -u llama-server -f     # Logs verfolgen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service verwalten:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl stop llama-server       # Stoppen&lt;br /&gt;
sudo systemctl restart llama-server    # Neustarten&lt;br /&gt;
sudo systemctl disable llama-server    # Autostart deaktivieren&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Manuelle Server-Starts ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) — optimal:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RPC — Verteiltes Inference über mehrere Hosts ===&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;-DGGML_RPC=ON&amp;lt;/code&amp;gt; wird der &amp;lt;code&amp;gt;rpc-server&amp;lt;/code&amp;gt; mitgebaut, der es ermöglicht, die Inferenz über das Netzwerk auf mehrere Maschinen zu verteilen. Jeder Remote-Host stellt seine GPU(s) über einen rpc-server zur Verfügung; der Main-Host verbindet sich darüber mit &amp;lt;code&amp;gt;--rpc&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Voraussetzung:&#039;&#039;&#039; Auf &#039;&#039;&#039;allen&#039;&#039;&#039; Hosts muss llama.cpp mit &amp;lt;code&amp;gt;-DGGML_RPC=ON&amp;lt;/code&amp;gt; kompiliert sein (siehe Build-Abschnitte oben). Die Netzwerkverbindung zwischen den Hosts muss bestehen.&lt;br /&gt;
&lt;br /&gt;
==== 1. RPC-Server auf allen Remote-Hosts starten ====&lt;br /&gt;
&lt;br /&gt;
Auf jedem Host, der seine GPU zur Verfügung stellen soll:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
./build/bin/rpc-server --host 0.0.0.0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Standardmäßig lauscht der rpc-server auf Port &#039;&#039;&#039;50052&#039;&#039;&#039;. Mit &amp;lt;code&amp;gt;--port&amp;lt;/code&amp;gt; kann ein anderer Port gewählt werden.&lt;br /&gt;
&lt;br /&gt;
==== 2. llama-server auf dem Main-Host starten ====&lt;br /&gt;
&lt;br /&gt;
Auf dem Host, der die Inferenz koordiniert:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
./llama-server \&lt;br /&gt;
  --model /home/hendrik/.lmstudio/models/unsloth/Step-3.7-Flash-GGUF/Step-3.7-Flash-UD-IQ4_XS-00001-of-00003.gguf \&lt;br /&gt;
  --gpu-layers 99 \&lt;br /&gt;
  --rpc localhost:50052,192.168.1.19:50052&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei ist &amp;lt;code&amp;gt;localhost:50052&amp;lt;/code&amp;gt; die lokale GPU und &amp;lt;code&amp;gt;192.168.1.19:50052&amp;lt;/code&amp;gt; die Remote-GPU.&lt;br /&gt;
&lt;br /&gt;
==== rpc-server als systemd Service (Remote-Host) ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-rpc.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp RPC Server (Remote GPU)&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/Programme/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ExecStart=/home/username/Programme/llama.cpp/build/bin/rpc-server --host 0.0.0.0&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-rpc&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktivieren:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now llama-rpc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Update ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
sudo systemctl restart llama-rpc    # falls RPC-Service läuft&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Parameter-Referenz ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-ngl 99&amp;lt;/code&amp;gt; || Alle Layer auf GPU auslagern&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-fa 1&amp;lt;/code&amp;gt; || Flash Attention aktivieren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-c 32768&amp;lt;/code&amp;gt; || Kontextfenster-Größe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-b 2048&amp;lt;/code&amp;gt; || Batch-Size&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-ub 2048&amp;lt;/code&amp;gt; || Physical USB batch size&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--split-mode row&amp;lt;/code&amp;gt; || Tensor-Split-Modus (Multi-GPU)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--tensor-split 0.5,0.5&amp;lt;/code&amp;gt; || Gleichmäßige Aufteilung auf 2 GPUs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--parallel 1&amp;lt;/code&amp;gt; || Anzahl paralleler Sequenzen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--jinja&amp;lt;/code&amp;gt; || Jinja-Template-Support für Chat&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--rpc host:port,…&amp;lt;/code&amp;gt; || RPC-Backends für verteiltes Inference&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-DGGML_RPC=ON&amp;lt;/code&amp;gt; || CMake-Flag: RPC-Support einkompilieren&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=536</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=536"/>
		<updated>2026-05-31T11:26:21Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; git pull &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ik_llama.cpp ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DLLAMA_VULKAN=on&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
gfx1151 = Strix Halo&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1100,gfx1151 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=535</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=535"/>
		<updated>2026-05-31T10:50:21Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; git pull &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ik_llama.cpp ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DLLAMA_VULKAN=on&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
gfx1151 = Strix Halo&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DLLAMA_HIPBLAS=on -DAMDGPU_TARGETS=gfx1100,gfx1151 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=534</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=534"/>
		<updated>2026-05-05T10:48:50Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm &amp;amp;&amp;amp; ./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User kopieren ===&lt;br /&gt;
Dieser Befehl kopiert den User von 000 nach 210&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;DELETE FROM SAPABAP1.USR02 WHERE MANDT = &#039;210&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;&amp;quot;; INSERT INTO SAPABAP1.USR02 (MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY ) SELECT &#039;210&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hash eines einzelnen Users kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02&lt;br /&gt;
SET&lt;br /&gt;
BCODE         = (SELECT BCODE FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
PASSCODE      = (SELECT PASSCODE FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
PWDSALTEDHASH = (SELECT PWDSALTEDHASH FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
CODVN         = (SELECT CODVN FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
PWDINITIAL    = 0,&lt;br /&gt;
UFLAG         = 0,&lt;br /&gt;
GLTGB = &#039;99991231&#039;&lt;br /&gt;
WHERE MANDT = &#039;321&#039;&lt;br /&gt;
AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hashes kompletter Mandanten kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02 T_ZIEL&lt;br /&gt;
 SET T_ZIEL.PWDSALTEDHASH = (&lt;br /&gt;
     SELECT T_QUELLE.PWDSALTEDHASH&lt;br /&gt;
     FROM SAPABAP1.USR02 T_QUELLE&lt;br /&gt;
     WHERE T_QUELLE.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_QUELLE.BNAME = T_ZIEL.BNAME&lt;br /&gt;
 )&lt;br /&gt;
 WHERE T_ZIEL.MANDT = &#039;301&#039;&lt;br /&gt;
   AND EXISTS (&lt;br /&gt;
     SELECT 1&lt;br /&gt;
     FROM SAPABAP1.USR02 T_CHECK&lt;br /&gt;
     WHERE T_CHECK.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_CHECK.BNAME = T_ZIEL.BNAME&lt;br /&gt;
   );&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backup abbrechen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
BACKUP CANCEL FOR &amp;lt;SYSTEMDB/TENANT&amp;gt; &amp;lt;ID&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Störungen===&lt;br /&gt;
==== * 447: backup could not be completed: [110164] Encryption root keys backup password doesn&#039;t exist. It must be either set in the database or must be given with the backup/recover SQL statement SQLSTATE: HY000 ====&lt;br /&gt;
Die Datenbank wurde mit aktivierten Encryption root keys backup password installiert, aber sind noch nicht in der Datenbank gesetzt. Dazu auf der SYSTEMDB und TENANT ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_MaxDB&amp;diff=533</id>
		<title>SAP MaxDB</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_MaxDB&amp;diff=533"/>
		<updated>2026-04-10T14:28:52Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Logbackups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
=== Backups ===&lt;br /&gt;
==== Fullbackup ====&lt;br /&gt;
Als Einzeiler&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d SID -u superdba,PW -uUTL -c backup_start SID_PIPE_FULL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
util_connect&lt;br /&gt;
backup_start &amp;lt;SID&amp;gt;_PIPE_FULL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Logbackups ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
util_connect&lt;br /&gt;
autolog_on SID_STAGE_AUTOLOG INTERVAL 1800&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kennwörter ändern ====&lt;br /&gt;
===== CONTROL =====&lt;br /&gt;
Hinweis: Wenn Monitoring-Checks &amp;quot;lila&amp;quot; sind, ist noch folgendes auszuführen: sudo /opt/nrpe/addxuser&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u control,&amp;lt;passwort_alt&amp;gt; user_put control password=&amp;lt;passwort_neu&amp;gt;&lt;br /&gt;
xuser -U c clear&lt;br /&gt;
xuser -U c -u CONTROL,&amp;lt;passwort&amp;gt; -d SID -n Hostname -S INTERNAL&lt;br /&gt;
dbmcli -d $SID -u superdba,&amp;lt;PW&amp;gt; db_clear&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== SUPERDBA =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u control,&amp;lt;PW&amp;gt; user_put superdba password=&amp;lt;PW&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u control,&amp;lt;PW&amp;gt; load_systab -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
xuser -U w clear&lt;br /&gt;
xuser -U w -u superdba,&amp;lt;PW&amp;gt; -d &amp;lt;SID&amp;gt; -n &amp;lt;HOST&amp;gt; -S INTERNAL&lt;br /&gt;
dbmcli -d $SID -u superdba,&amp;lt;PW&amp;gt; db_clear&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== SAPSID =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
stopsap R3&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt; -uSQL SAP&amp;lt;SID&amp;gt;,&amp;lt;PW&amp;gt; sql_execute ALTER PASSWORD &amp;lt;PWALT&amp;gt; TO &amp;lt;PWNEW&amp;gt;&lt;br /&gt;
xuser -U DEFAULT clear&lt;br /&gt;
xuser -U DEFAULT -u SAP&amp;lt;SID&amp;gt;,&amp;lt;PW&amp;gt; -d &amp;lt;SID&amp;gt; -n &amp;lt;HOST&amp;gt; -S SAPR3 -t 0&lt;br /&gt;
dbmcli -d $SID -u superdba,&amp;lt;PW&amp;gt; db_clear&lt;br /&gt;
startsap R3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== SAPSIDDB (Java oder ADS) =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
stopsap J2EE&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt; -uSQL SAPADKDB,&amp;lt;PWALT&amp;gt; sql_execute ALTER PASSWORD &amp;lt;PWALT&amp;gt; TO &amp;lt;PWNEW&amp;gt;&lt;br /&gt;
xuser -U DEFAULT clear&lt;br /&gt;
xuser -U DEFAULT -u SAP&amp;lt;SID&amp;gt;DB,&amp;lt;PW&amp;gt; -d &amp;lt;SID&amp;gt; -n &amp;lt;HOST&amp;gt; -S SAPR3 -t 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Im Configtool unter Connection Pools &amp;quot;Password&amp;quot; das neue Passwort eintragen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/&amp;lt;SID&amp;gt;/J00/j2ee/configtool/ &amp;amp;&amp;amp; ./configtool.sh &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
startsap J2EE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
=== Fehlerbehebung ===&lt;br /&gt;
==== Disk autolog voll und AUTOSAVE IS OFF ====&lt;br /&gt;
Die Datenbank Logs der MaxDB werden automatisch in das Verzeichnis /sapdb/&amp;lt;SID&amp;gt;/autolog geschrieben. Sofern es Fehler bei der Sicherung dieser Dateien gibt, kann die Platte schnell volllaufen.&lt;br /&gt;
===== Lösung =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
dbmcli on IGK&amp;gt;db_state&lt;br /&gt;
OK&lt;br /&gt;
State&lt;br /&gt;
ONLINE&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;autolog_show&lt;br /&gt;
OK&lt;br /&gt;
AUTOSAVE IS OFF&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;medium_getall&lt;br /&gt;
OK&lt;br /&gt;
IGK_PIPE_AUTOLOG        /backup/pipes/IGK_AUTOLOG       PIPE    LOG     0       8       NO      NO              20230714144617  20230714144617          BACK    0&lt;br /&gt;
IGK_STAGE_AUTOLOG       /sapdb/IGK/autolog/IGK_AUTOLOG  FILE    AUTO    0       8       NO      NO              20230714144855  20230714144855          NONE    0&lt;br /&gt;
IGK_PIPE_INC\P01        /backup/pipes/IGK_INC_01,*      PIPE    PAGES   0       8       NO      NO              20230714145322  20230714145322          BACK    0&lt;br /&gt;
IGK_PIPE_INC\P02        /backup/pipes/IGK_INC_02,*      PIPE    PAGES   0       8       NO      NO              20230714145322  20230714145322          BACK    0&lt;br /&gt;
IGK_PIPE_FULL\P01       /backup/pipes/IGK_FULL_01,*     PIPE    DATA    0       8       NO      NO              20230714145434  20230714145434          BACK    0&lt;br /&gt;
IGK_PIPE_FULL\P02       /backup/pipes/IGK_FULL_02,*     PIPE    DATA    0       8       NO      NO              20230714145434  20230714145434          BACK    0&lt;br /&gt;
FULL_INITIAL    /dev/null       FILE    DATA    0       8       YES     NO              20230714145632  20230714145632          NONE    0&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;autolog_on IGK_STAGE_AUTOLOG INTERVAL  1800&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;autolog_show&lt;br /&gt;
OK&lt;br /&gt;
AUTOSAVE IS ON&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Anschließend am besten nochmal alle xuser mit xuser_list und &amp;quot;dbmcli -U &amp;lt;XUSER_KEY&amp;gt; db_state&amp;quot; überprüfen&lt;br /&gt;
Falls autosave weiterhin off ist zunächst autolog erweitern&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_MaxDB&amp;diff=532</id>
		<title>SAP MaxDB</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_MaxDB&amp;diff=532"/>
		<updated>2026-04-10T14:28:18Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Backups */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
=== Backups ===&lt;br /&gt;
==== Fullbackup ====&lt;br /&gt;
Als Einzeiler&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d SID -u superdba,PW -uUTL -c backup_start SID_PIPE_FULL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
util_connect&lt;br /&gt;
backup_start &amp;lt;SID&amp;gt;_PIPE_FULL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Logbackups ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
util_connect&lt;br /&gt;
backup_start &amp;lt;SID&amp;gt;_PIPE_FULL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Kennwörter ändern ====&lt;br /&gt;
===== CONTROL =====&lt;br /&gt;
Hinweis: Wenn Monitoring-Checks &amp;quot;lila&amp;quot; sind, ist noch folgendes auszuführen: sudo /opt/nrpe/addxuser&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u control,&amp;lt;passwort_alt&amp;gt; user_put control password=&amp;lt;passwort_neu&amp;gt;&lt;br /&gt;
xuser -U c clear&lt;br /&gt;
xuser -U c -u CONTROL,&amp;lt;passwort&amp;gt; -d SID -n Hostname -S INTERNAL&lt;br /&gt;
dbmcli -d $SID -u superdba,&amp;lt;PW&amp;gt; db_clear&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== SUPERDBA =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u control,&amp;lt;PW&amp;gt; user_put superdba password=&amp;lt;PW&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u control,&amp;lt;PW&amp;gt; load_systab -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
xuser -U w clear&lt;br /&gt;
xuser -U w -u superdba,&amp;lt;PW&amp;gt; -d &amp;lt;SID&amp;gt; -n &amp;lt;HOST&amp;gt; -S INTERNAL&lt;br /&gt;
dbmcli -d $SID -u superdba,&amp;lt;PW&amp;gt; db_clear&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== SAPSID =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
stopsap R3&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt; -uSQL SAP&amp;lt;SID&amp;gt;,&amp;lt;PW&amp;gt; sql_execute ALTER PASSWORD &amp;lt;PWALT&amp;gt; TO &amp;lt;PWNEW&amp;gt;&lt;br /&gt;
xuser -U DEFAULT clear&lt;br /&gt;
xuser -U DEFAULT -u SAP&amp;lt;SID&amp;gt;,&amp;lt;PW&amp;gt; -d &amp;lt;SID&amp;gt; -n &amp;lt;HOST&amp;gt; -S SAPR3 -t 0&lt;br /&gt;
dbmcli -d $SID -u superdba,&amp;lt;PW&amp;gt; db_clear&lt;br /&gt;
startsap R3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== SAPSIDDB (Java oder ADS) =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
stopsap J2EE&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt; -uSQL SAPADKDB,&amp;lt;PWALT&amp;gt; sql_execute ALTER PASSWORD &amp;lt;PWALT&amp;gt; TO &amp;lt;PWNEW&amp;gt;&lt;br /&gt;
xuser -U DEFAULT clear&lt;br /&gt;
xuser -U DEFAULT -u SAP&amp;lt;SID&amp;gt;DB,&amp;lt;PW&amp;gt; -d &amp;lt;SID&amp;gt; -n &amp;lt;HOST&amp;gt; -S SAPR3 -t 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Im Configtool unter Connection Pools &amp;quot;Password&amp;quot; das neue Passwort eintragen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/&amp;lt;SID&amp;gt;/J00/j2ee/configtool/ &amp;amp;&amp;amp; ./configtool.sh &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
startsap J2EE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
=== Fehlerbehebung ===&lt;br /&gt;
==== Disk autolog voll und AUTOSAVE IS OFF ====&lt;br /&gt;
Die Datenbank Logs der MaxDB werden automatisch in das Verzeichnis /sapdb/&amp;lt;SID&amp;gt;/autolog geschrieben. Sofern es Fehler bei der Sicherung dieser Dateien gibt, kann die Platte schnell volllaufen.&lt;br /&gt;
===== Lösung =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
dbmcli on IGK&amp;gt;db_state&lt;br /&gt;
OK&lt;br /&gt;
State&lt;br /&gt;
ONLINE&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;autolog_show&lt;br /&gt;
OK&lt;br /&gt;
AUTOSAVE IS OFF&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;medium_getall&lt;br /&gt;
OK&lt;br /&gt;
IGK_PIPE_AUTOLOG        /backup/pipes/IGK_AUTOLOG       PIPE    LOG     0       8       NO      NO              20230714144617  20230714144617          BACK    0&lt;br /&gt;
IGK_STAGE_AUTOLOG       /sapdb/IGK/autolog/IGK_AUTOLOG  FILE    AUTO    0       8       NO      NO              20230714144855  20230714144855          NONE    0&lt;br /&gt;
IGK_PIPE_INC\P01        /backup/pipes/IGK_INC_01,*      PIPE    PAGES   0       8       NO      NO              20230714145322  20230714145322          BACK    0&lt;br /&gt;
IGK_PIPE_INC\P02        /backup/pipes/IGK_INC_02,*      PIPE    PAGES   0       8       NO      NO              20230714145322  20230714145322          BACK    0&lt;br /&gt;
IGK_PIPE_FULL\P01       /backup/pipes/IGK_FULL_01,*     PIPE    DATA    0       8       NO      NO              20230714145434  20230714145434          BACK    0&lt;br /&gt;
IGK_PIPE_FULL\P02       /backup/pipes/IGK_FULL_02,*     PIPE    DATA    0       8       NO      NO              20230714145434  20230714145434          BACK    0&lt;br /&gt;
FULL_INITIAL    /dev/null       FILE    DATA    0       8       YES     NO              20230714145632  20230714145632          NONE    0&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;autolog_on IGK_STAGE_AUTOLOG INTERVAL  1800&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;autolog_show&lt;br /&gt;
OK&lt;br /&gt;
AUTOSAVE IS ON&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Anschließend am besten nochmal alle xuser mit xuser_list und &amp;quot;dbmcli -U &amp;lt;XUSER_KEY&amp;gt; db_state&amp;quot; überprüfen&lt;br /&gt;
Falls autosave weiterhin off ist zunächst autolog erweitern&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_MaxDB&amp;diff=531</id>
		<title>SAP MaxDB</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_MaxDB&amp;diff=531"/>
		<updated>2026-04-10T14:27:37Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
=== Backups ===&lt;br /&gt;
==== Fullbackup ====&lt;br /&gt;
Als Einzeiler&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d SID -u superdba,PW -uUTL -c backup_start SID_PIPE_FULL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
util_connect&lt;br /&gt;
backup_start &amp;lt;SID&amp;gt;_PIPE_FULL&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Logbackups ====&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
util_connect&lt;br /&gt;
backup_start &amp;lt;SID&amp;gt;_PIPE_FULL&lt;br /&gt;
==== Kennwörter ändern ====&lt;br /&gt;
===== CONTROL =====&lt;br /&gt;
Hinweis: Wenn Monitoring-Checks &amp;quot;lila&amp;quot; sind, ist noch folgendes auszuführen: sudo /opt/nrpe/addxuser&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u control,&amp;lt;passwort_alt&amp;gt; user_put control password=&amp;lt;passwort_neu&amp;gt;&lt;br /&gt;
xuser -U c clear&lt;br /&gt;
xuser -U c -u CONTROL,&amp;lt;passwort&amp;gt; -d SID -n Hostname -S INTERNAL&lt;br /&gt;
dbmcli -d $SID -u superdba,&amp;lt;PW&amp;gt; db_clear&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== SUPERDBA =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u control,&amp;lt;PW&amp;gt; user_put superdba password=&amp;lt;PW&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u control,&amp;lt;PW&amp;gt; load_systab -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
xuser -U w clear&lt;br /&gt;
xuser -U w -u superdba,&amp;lt;PW&amp;gt; -d &amp;lt;SID&amp;gt; -n &amp;lt;HOST&amp;gt; -S INTERNAL&lt;br /&gt;
dbmcli -d $SID -u superdba,&amp;lt;PW&amp;gt; db_clear&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== SAPSID =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
stopsap R3&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt; -uSQL SAP&amp;lt;SID&amp;gt;,&amp;lt;PW&amp;gt; sql_execute ALTER PASSWORD &amp;lt;PWALT&amp;gt; TO &amp;lt;PWNEW&amp;gt;&lt;br /&gt;
xuser -U DEFAULT clear&lt;br /&gt;
xuser -U DEFAULT -u SAP&amp;lt;SID&amp;gt;,&amp;lt;PW&amp;gt; -d &amp;lt;SID&amp;gt; -n &amp;lt;HOST&amp;gt; -S SAPR3 -t 0&lt;br /&gt;
dbmcli -d $SID -u superdba,&amp;lt;PW&amp;gt; db_clear&lt;br /&gt;
startsap R3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== SAPSIDDB (Java oder ADS) =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
stopsap J2EE&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt; -uSQL SAPADKDB,&amp;lt;PWALT&amp;gt; sql_execute ALTER PASSWORD &amp;lt;PWALT&amp;gt; TO &amp;lt;PWNEW&amp;gt;&lt;br /&gt;
xuser -U DEFAULT clear&lt;br /&gt;
xuser -U DEFAULT -u SAP&amp;lt;SID&amp;gt;DB,&amp;lt;PW&amp;gt; -d &amp;lt;SID&amp;gt; -n &amp;lt;HOST&amp;gt; -S SAPR3 -t 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Im Configtool unter Connection Pools &amp;quot;Password&amp;quot; das neue Passwort eintragen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/&amp;lt;SID&amp;gt;/J00/j2ee/configtool/ &amp;amp;&amp;amp; ./configtool.sh &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
startsap J2EE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
=== Fehlerbehebung ===&lt;br /&gt;
==== Disk autolog voll und AUTOSAVE IS OFF ====&lt;br /&gt;
Die Datenbank Logs der MaxDB werden automatisch in das Verzeichnis /sapdb/&amp;lt;SID&amp;gt;/autolog geschrieben. Sofern es Fehler bei der Sicherung dieser Dateien gibt, kann die Platte schnell volllaufen.&lt;br /&gt;
===== Lösung =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
dbmcli -d &amp;lt;SID&amp;gt; -u superdba,&amp;lt;PW&amp;gt;&lt;br /&gt;
dbmcli on IGK&amp;gt;db_state&lt;br /&gt;
OK&lt;br /&gt;
State&lt;br /&gt;
ONLINE&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;autolog_show&lt;br /&gt;
OK&lt;br /&gt;
AUTOSAVE IS OFF&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;medium_getall&lt;br /&gt;
OK&lt;br /&gt;
IGK_PIPE_AUTOLOG        /backup/pipes/IGK_AUTOLOG       PIPE    LOG     0       8       NO      NO              20230714144617  20230714144617          BACK    0&lt;br /&gt;
IGK_STAGE_AUTOLOG       /sapdb/IGK/autolog/IGK_AUTOLOG  FILE    AUTO    0       8       NO      NO              20230714144855  20230714144855          NONE    0&lt;br /&gt;
IGK_PIPE_INC\P01        /backup/pipes/IGK_INC_01,*      PIPE    PAGES   0       8       NO      NO              20230714145322  20230714145322          BACK    0&lt;br /&gt;
IGK_PIPE_INC\P02        /backup/pipes/IGK_INC_02,*      PIPE    PAGES   0       8       NO      NO              20230714145322  20230714145322          BACK    0&lt;br /&gt;
IGK_PIPE_FULL\P01       /backup/pipes/IGK_FULL_01,*     PIPE    DATA    0       8       NO      NO              20230714145434  20230714145434          BACK    0&lt;br /&gt;
IGK_PIPE_FULL\P02       /backup/pipes/IGK_FULL_02,*     PIPE    DATA    0       8       NO      NO              20230714145434  20230714145434          BACK    0&lt;br /&gt;
FULL_INITIAL    /dev/null       FILE    DATA    0       8       YES     NO              20230714145632  20230714145632          NONE    0&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;autolog_on IGK_STAGE_AUTOLOG INTERVAL  1800&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
dbmcli on IGK&amp;gt;autolog_show&lt;br /&gt;
OK&lt;br /&gt;
AUTOSAVE IS ON&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Anschließend am besten nochmal alle xuser mit xuser_list und &amp;quot;dbmcli -U &amp;lt;XUSER_KEY&amp;gt; db_state&amp;quot; überprüfen&lt;br /&gt;
Falls autosave weiterhin off ist zunächst autolog erweitern&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=530</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=530"/>
		<updated>2026-03-31T16:22:35Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* SAP HANA Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm &amp;amp;&amp;amp; ./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User kopieren ===&lt;br /&gt;
Dieser Befehl kopiert den User von 000 nach 210&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;DELETE FROM SAPABAP1.USR02 WHERE MANDT = &#039;210&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;&amp;quot;; INSERT INTO SAPABAP1.USR02 (MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY ) SELECT &#039;210&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hash eines einzelnen Users kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02&lt;br /&gt;
SET&lt;br /&gt;
BCODE         = (SELECT BCODE FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
PASSCODE      = (SELECT PASSCODE FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
PWDSALTEDHASH = (SELECT PWDSALTEDHASH FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
CODVN         = (SELECT CODVN FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
PWDINITIAL    = 0,&lt;br /&gt;
UFLAG         = 0,&lt;br /&gt;
GLTGB = &#039;99991231&#039;&lt;br /&gt;
WHERE MANDT = &#039;321&#039;&lt;br /&gt;
AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hashes kompletter Mandanten kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02 T_ZIEL&lt;br /&gt;
 SET T_ZIEL.PWDSALTEDHASH = (&lt;br /&gt;
     SELECT T_QUELLE.PWDSALTEDHASH&lt;br /&gt;
     FROM SAPABAP1.USR02 T_QUELLE&lt;br /&gt;
     WHERE T_QUELLE.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_QUELLE.BNAME = T_ZIEL.BNAME&lt;br /&gt;
 )&lt;br /&gt;
 WHERE T_ZIEL.MANDT = &#039;301&#039;&lt;br /&gt;
   AND EXISTS (&lt;br /&gt;
     SELECT 1&lt;br /&gt;
     FROM SAPABAP1.USR02 T_CHECK&lt;br /&gt;
     WHERE T_CHECK.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_CHECK.BNAME = T_ZIEL.BNAME&lt;br /&gt;
   );&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Störungen===&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=VLLm&amp;diff=529</id>
		<title>VLLm</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=VLLm&amp;diff=529"/>
		<updated>2026-03-21T00:40:24Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Docker normal installieren&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
Normal (ROCm)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker pull rocm/vllm-dev:nightly&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
gfx906&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker pull nalanzeyu/vllm-gfx906&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführen ===&lt;br /&gt;
==== Variante 1 ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm --shm-size=8g --device=/dev/kfd --device=/dev/dri \&lt;br /&gt;
    --group-add video -p 8086:8000 \&lt;br /&gt;
    -v /mnt/share/models:/models \&lt;br /&gt;
    nalanzeyu/vllm-gfx906 \&lt;br /&gt;
    vllm serve /models/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit --served-model-name Homelab --max-model-len 30000 --enable-auto-tool-choice --tool-call-parser hermes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Variante 2, getestet 18.12.2025:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker run -it --rm --network=host --group-add=video --ipc=host --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --device /dev/kfd --device /dev/dri -v /home/hendrik/.lmstudio/models/:/app/models -e HF_HOME=&amp;quot;/app/models&amp;quot; -e HF_TOKEN=&amp;quot;&amp;lt;TOKEN&amp;gt;&amp;quot; -e NCCL_P2P_DISABLE=1 -e VLLM_CUSTOM_OPS=all -e VLLM_ROCM_USE_AITER=0 -e SAFETENSORS_FAST_GPU=1 -e PYTORCH_TUNABLEOP_ENABLED=1 rocm/vllm-dev:nightly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für gfx1201:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker run -it --rm --network=host \&lt;br /&gt;
--group-add=video --ipc=host --cap-add=SYS_PTRACE \&lt;br /&gt;
--security-opt seccomp=unconfined --device /dev/kfd \&lt;br /&gt;
--device /dev/dri \&lt;br /&gt;
-v /home/hendrik/.lmstudio/models/:/app/models \&lt;br /&gt;
-e HF_HOME=&amp;quot;/app/models&amp;quot; \&lt;br /&gt;
-e HF_TOKEN=&amp;quot;&amp;lt;TOKEN&amp;gt;&amp;quot; \&lt;br /&gt;
-e NCCL_P2P_DISABLE=1 \&lt;br /&gt;
-e VLLM_CUSTOM_OPS=all \&lt;br /&gt;
-e VLLM_ROCM_USE_AITER=0 \&lt;br /&gt;
-e SAFETENSORS_FAST_GPU=1 \&lt;br /&gt;
-e PYTORCH_TUNABLEOP_ENABLED=1&lt;br /&gt;
kyuz0/vllm-therock-gfx1201&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ohne Tensor Parallism:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vllm serve Qwen/Qwen3-VL-8B-Thinking --served-model-name Homelab --max_model_len 4096 --enable-auto-tool-choice --tool-call-parser hermes --reasoning-parser qwen3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Mit:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vllm serve Qwen/Qwen3-VL-8B-Thinking --served-model-name Homelab --tp 2 --max_model_len 4096 --enable-auto-tool-choice --tool-call-parser hermes --reasoning-parser qwen3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Benchmark:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vllm bench serve --num-prompts 1 --dataset-name=random --input-len 512 --output-len 128 --model Qwen/Qwen3-4B-Instruct-2507-FP8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Variante 2 (Pro W7800) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
docker run --rm \&lt;br /&gt;
  --device /dev/kfd \&lt;br /&gt;
  --device /dev/dri \&lt;br /&gt;
  -e HSA_ENABLE_IPC_MODE_LEGACY=0 \&lt;br /&gt;
  -e HIP_VISIBLE_DEVICES=1 \&lt;br /&gt;
  -p 8000:8000 \&lt;br /&gt;
  -v ~/.cache/huggingface:/root/.cache/huggingface \&lt;br /&gt;
  --ipc=host \&lt;br /&gt;
  rocm/vllm-dev:nightly_main_20260318 \&lt;br /&gt;
  vllm serve cyankiwi/Qwen3.5-35B-A3B-AWQ-4bit \&lt;br /&gt;
  --tensor-parallel-size 1 \&lt;br /&gt;
  --max-model-len 16000 \&lt;br /&gt;
  --dtype float16 \&lt;br /&gt;
  --reasoning-parser qwen3 \&lt;br /&gt;
  --speculative-config &#039;{&amp;quot;method&amp;quot;:&amp;quot;qwen3_next_mtp&amp;quot;,&amp;quot;num_speculative_tokens&amp;quot;:2}&#039; \&lt;br /&gt;
  --enable-auto-tool-choice \&lt;br /&gt;
  --tool-call-parser qwen3_coder \&lt;br /&gt;
  --language-model-only \&lt;br /&gt;
  --served-model-name Homelab&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=528</id>
		<title>DAA Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=528"/>
		<updated>2026-03-06T09:30:39Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Diese Anleitung beschreibt das manuelle Update der SAP JVM für den Diagnostics Agent (DAA) unter Linux. Da der Agent seine JVM nicht automatisch patchen kann, muss das Update manuell über das Anlegen eines neuen Verzeichnisses und die Anpassung des Instanzprofils erfolgen.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
Die aktuelle SAP JVM 8.1 im `.SAR`-Format muss aus dem SAP Support Portal (Software Center) heruntergeladen werden. &lt;br /&gt;
* Dateibeispiel: `SAPJVM8_108-80000202.SAR`&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&#039;&#039;Die Erstinstallation des Diagnostics Agents ist nicht Teil dieses Artikels. Dieser Artikel behandelt ausschließlich das Update der zugrundeliegenden SAP JVM.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
Es ist keine spezielle Vorab-Konfiguration auf Betriebssystemebene nötig, außer dass das Tool `SAPCAR` verfügbar sein muss und Root-Rechte für die Verzeichniserstellung benötigt werden.&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
Das Update erfolgt durch das Anlegen eines neuen JVM-Verzeichnisses und dem Anpassen der Profil-Datei. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# 1. Neues Verzeichnis als root/sudo anlegen und Rechte setzen (Version im Namen anpassen)&lt;br /&gt;
mkdir -p /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
chown daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
# 2. Zum DAA-User wechseln und in das neue Verzeichnis gehen&lt;br /&gt;
su - daaadm&lt;br /&gt;
cd /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
# 3. Das heruntergeladene Archiv entpacken (Pfade anpassen)&lt;br /&gt;
/usr/sap/DAA/SYS/exe/uc/linuxx86_64/SAPCAR -xvf /Pfad/zur/Datei/SAPJVM8_108-80000202.SAR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Anschluss muss das Instanzprofil des Diagnostics Agents angepasst werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Profil editieren (Hostname anpassen)&lt;br /&gt;
vi /usr/sap/DAA/SYS/profile/DAA_SMDA98_&amp;lt;Hostname&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dort die Variable `SAPJVM_VERSION` auf die neue Version ändern:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Vorher:&lt;br /&gt;
SAPJVM_VERSION = 8.1.097&lt;br /&gt;
&lt;br /&gt;
# Nachher:&lt;br /&gt;
SAPJVM_VERSION = 8.1.108&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Den Agenten als `daaadm` neu starten, damit `sapcpe` die neuen Binaries kopiert:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
stopsap&lt;br /&gt;
startsap&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
Nach dem Neustart prüfen, ob die neue JVM aktiv ist (als User `daaadm`):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# 1. Java-Version im Ausführungsverzeichnis prüfen&lt;br /&gt;
/usr/sap/DAA/SMDA98/exe/sapjvm_8/bin/java -version&lt;br /&gt;
&lt;br /&gt;
# 2. Prüfen, ob der laufende Agent-Prozess den korrekten Java-Pfad nutzt&lt;br /&gt;
ps -ef | grep DAA | grep java&lt;br /&gt;
&lt;br /&gt;
# 3. sapcpe-Log prüfen, ob aus dem neuen Verzeichnis kopiert wurde&lt;br /&gt;
grep &amp;quot;source&amp;quot; /usr/sap/DAA/SMDA98/work/sapcpe.log | tail -n 5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fehlerbehebung===&lt;br /&gt;
====Starten/Stoppen funktioniert nicht====&lt;br /&gt;
Wenn `startsap` oder `stopsap` mit Fehlern abbrechen oder der Agent nicht hochfährt:&lt;br /&gt;
&lt;br /&gt;
=====Lösung 1=====&lt;br /&gt;
Prüfen, ob die Berechtigungen des neu angelegten Verzeichnisses korrekt sind und ob die Versionsnummer im Profil (`SAPJVM_VERSION`) exakt dem Namen des Verzeichnisses entspricht.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Berechtigungen prüfen (muss daaadm:sapsys sein)&lt;br /&gt;
ls -ld /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
# Falls falsch, als root korrigieren:&lt;br /&gt;
chown -R daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
Entpacken, wenn `SAPCAR` und die `.SAR`-Datei eine Ebene über dem neuen JVM-Verzeichnis liegen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Als daaadm aus dem neu erstellten sapjvm_8.1.x Ordner heraus ausführen&lt;br /&gt;
../SAPCAR -xvf ../SAPJVM8_108-80000202.SAR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://me.sap.com/notes/3408212 SAP Note 3408212 - Diagnostics Agent - How To Switch or Update SAP JVM]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=527</id>
		<title>DAA Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=527"/>
		<updated>2026-03-06T09:30:11Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Diese Anleitung beschreibt das manuelle Update der SAP JVM für den Diagnostics Agent (DAA) unter Linux. Da der Agent seine JVM nicht automatisch patchen kann, muss das Update manuell über das Anlegen eines neuen Verzeichnisses und die Anpassung des Instanzprofils erfolgen.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
Die aktuelle SAP JVM 8.1 im .SAR-Format muss aus dem SAP Support Portal (Software Center) heruntergeladen werden.&lt;br /&gt;
* Dateibeispiel: SAPJVM8_108-80000202.SAR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
  &#039;&#039;Die Erstinstallation des Diagnostics Agents ist nicht Teil dieses Artikels. Dieser Artikel behandelt ausschließlich das Update der zugrundeliegenden SAP JVM.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Konfiguration ===&lt;br /&gt;
  Es ist keine spezielle Vorab-Konfiguration auf Betriebssystemebene nötig, außer dass das Tool SAPCAR verfügbar sein muss und Root-Rechte für die Verzeichniserstellung benötigt werden.&lt;br /&gt;
&lt;br /&gt;
  === Update ===&lt;br /&gt;
  Das Update erfolgt durch das Anlegen eines neuen JVM-Verzeichnisses und dem Anpassen der Profil-Datei.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  1. Neues Verzeichnis als root/sudo anlegen und Rechte setzen (Version im Namen anpassen)&lt;br /&gt;
  mkdir -p /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  chown daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2. Zum DAA-User wechseln und in das neue Verzeichnis gehen&lt;br /&gt;
  su - daaadm&lt;br /&gt;
  cd /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  3. Das heruntergeladene Archiv entpacken (Pfade anpassen)&lt;br /&gt;
  /usr/sap/DAA/SYS/exe/uc/linuxx86_64/SAPCAR -xvf /Pfad/zur/Datei/SAPJVM8_108-80000202.SAR&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Im Anschluss muss das Instanzprofil des Diagnostics Agents angepasst werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Profil editieren (Hostname anpassen)&lt;br /&gt;
  vi /usr/sap/DAA/SYS/profile/DAA_SMDA98_&amp;lt;Hostname&amp;gt;&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Dort die Variable SAPJVM_VERSION auf die neue Version ändern:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Vorher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.097&lt;br /&gt;
&lt;br /&gt;
  Nachher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.108&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Den Agenten als daaadm neu starten, damit sapcpe die neuen Binaries kopiert:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  stopsap&lt;br /&gt;
  startsap&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  === Test ===&lt;br /&gt;
  Nach dem Neustart prüfen, ob die neue JVM aktiv ist (als User daaadm):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  1. Java-Version im Ausführungsverzeichnis prüfen&lt;br /&gt;
  /usr/sap/DAA/SMDA98/exe/sapjvm_8/bin/java -version&lt;br /&gt;
&lt;br /&gt;
  2. Prüfen, ob der laufende Agent-Prozess den korrekten Java-Pfad nutzt&lt;br /&gt;
  ps -ef | grep DAA | grep java&lt;br /&gt;
&lt;br /&gt;
  3. sapcpe-Log prüfen, ob aus dem neuen Verzeichnis kopiert wurde&lt;br /&gt;
  grep &amp;quot;source&amp;quot; /usr/sap/DAA/SMDA98/work/sapcpe.log | tail -n 5&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Fehlerbehebung===&lt;br /&gt;
  ====Starten/Stoppen funktioniert nicht====&lt;br /&gt;
  Wenn startsap oder stopsap mit Fehlern abbrechen oder der Agent nicht hochfährt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  =====Lösung 1=====&lt;br /&gt;
  Prüfen, ob die Berechtigungen des neu angelegten Verzeichnisses korrekt sind und ob die Versionsnummer im Profil (SAPJVM_VERSION) exakt dem Namen des Verzeichnisses entspricht.&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Berechtigungen prüfen (muss daaadm:sapsys sein)&lt;br /&gt;
  ls -ld /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Falls falsch, als root korrigieren:&lt;br /&gt;
  chown -R daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Codeschnipsel ===&lt;br /&gt;
  Entpacken, wenn SAPCAR und die .SAR-Datei eine Ebene über dem neuen JVM-Verzeichnis liegen:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Als daaadm aus dem neu erstellten sapjvm_8.1.x Ordner heraus ausführen&lt;br /&gt;
  ../SAPCAR -xvf ../SAPJVM8_108-80000202.SAR&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Nützliche Links ===&lt;br /&gt;
   * [https://me.sap.com/notes/3408212 SAP Note 3408212 - Diagnostics Agent - How To Switch or Update SAP JVM]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=526</id>
		<title>DAA Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=526"/>
		<updated>2026-03-06T09:29:40Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Diese Anleitung beschreibt das manuelle Update der SAP JVM für den Diagnostics Agent (DAA) unter Linux. Da der Agent seine JVM nicht automatisch patchen kann, muss das Update manuell über das Anlegen eines neuen Verzeichnisses und die Anpassung des Instanzprofils erfolgen.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
  Die aktuelle SAP JVM 8.1 im .SAR-Format muss aus dem SAP Support Portal (Software Center) heruntergeladen werden.&lt;br /&gt;
   * Dateibeispiel: SAPJVM8_108-80000202.SAR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Installation ===&lt;br /&gt;
  &#039;&#039;Die Erstinstallation des Diagnostics Agents ist nicht Teil dieses Artikels. Dieser Artikel behandelt ausschließlich das Update der zugrundeliegenden SAP JVM.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Konfiguration ===&lt;br /&gt;
  Es ist keine spezielle Vorab-Konfiguration auf Betriebssystemebene nötig, außer dass das Tool SAPCAR verfügbar sein muss und Root-Rechte für die Verzeichniserstellung benötigt werden.&lt;br /&gt;
&lt;br /&gt;
  === Update ===&lt;br /&gt;
  Das Update erfolgt durch das Anlegen eines neuen JVM-Verzeichnisses und dem Anpassen der Profil-Datei.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  1. Neues Verzeichnis als root/sudo anlegen und Rechte setzen (Version im Namen anpassen)&lt;br /&gt;
  mkdir -p /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  chown daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2. Zum DAA-User wechseln und in das neue Verzeichnis gehen&lt;br /&gt;
  su - daaadm&lt;br /&gt;
  cd /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  3. Das heruntergeladene Archiv entpacken (Pfade anpassen)&lt;br /&gt;
  /usr/sap/DAA/SYS/exe/uc/linuxx86_64/SAPCAR -xvf /Pfad/zur/Datei/SAPJVM8_108-80000202.SAR&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Im Anschluss muss das Instanzprofil des Diagnostics Agents angepasst werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Profil editieren (Hostname anpassen)&lt;br /&gt;
  vi /usr/sap/DAA/SYS/profile/DAA_SMDA98_&amp;lt;Hostname&amp;gt;&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Dort die Variable SAPJVM_VERSION auf die neue Version ändern:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Vorher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.097&lt;br /&gt;
&lt;br /&gt;
  Nachher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.108&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Den Agenten als daaadm neu starten, damit sapcpe die neuen Binaries kopiert:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  stopsap&lt;br /&gt;
  startsap&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  === Test ===&lt;br /&gt;
  Nach dem Neustart prüfen, ob die neue JVM aktiv ist (als User daaadm):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  1. Java-Version im Ausführungsverzeichnis prüfen&lt;br /&gt;
  /usr/sap/DAA/SMDA98/exe/sapjvm_8/bin/java -version&lt;br /&gt;
&lt;br /&gt;
  2. Prüfen, ob der laufende Agent-Prozess den korrekten Java-Pfad nutzt&lt;br /&gt;
  ps -ef | grep DAA | grep java&lt;br /&gt;
&lt;br /&gt;
  3. sapcpe-Log prüfen, ob aus dem neuen Verzeichnis kopiert wurde&lt;br /&gt;
  grep &amp;quot;source&amp;quot; /usr/sap/DAA/SMDA98/work/sapcpe.log | tail -n 5&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Fehlerbehebung===&lt;br /&gt;
  ====Starten/Stoppen funktioniert nicht====&lt;br /&gt;
  Wenn startsap oder stopsap mit Fehlern abbrechen oder der Agent nicht hochfährt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  =====Lösung 1=====&lt;br /&gt;
  Prüfen, ob die Berechtigungen des neu angelegten Verzeichnisses korrekt sind und ob die Versionsnummer im Profil (SAPJVM_VERSION) exakt dem Namen des Verzeichnisses entspricht.&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Berechtigungen prüfen (muss daaadm:sapsys sein)&lt;br /&gt;
  ls -ld /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Falls falsch, als root korrigieren:&lt;br /&gt;
  chown -R daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Codeschnipsel ===&lt;br /&gt;
  Entpacken, wenn SAPCAR und die .SAR-Datei eine Ebene über dem neuen JVM-Verzeichnis liegen:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Als daaadm aus dem neu erstellten sapjvm_8.1.x Ordner heraus ausführen&lt;br /&gt;
  ../SAPCAR -xvf ../SAPJVM8_108-80000202.SAR&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Nützliche Links ===&lt;br /&gt;
   * [https://me.sap.com/notes/3408212 SAP Note 3408212 - Diagnostics Agent - How To Switch or Update SAP JVM]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=525</id>
		<title>DAA Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=525"/>
		<updated>2026-03-06T09:29:26Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
  Diese Anleitung beschreibt das manuelle Update der SAP JVM für den Diagnostics Agent (DAA) unter Linux. Da der Agent seine JVM nicht automatisch patchen kann, muss das Update manuell über das Anlegen eines neuen Verzeichnisses und die Anpassung des Instanzprofils&lt;br /&gt;
  erfolgen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
  Die aktuelle SAP JVM 8.1 im .SAR-Format muss aus dem SAP Support Portal (Software Center) heruntergeladen werden.&lt;br /&gt;
   * Dateibeispiel: SAPJVM8_108-80000202.SAR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Installation ===&lt;br /&gt;
  &#039;&#039;Die Erstinstallation des Diagnostics Agents ist nicht Teil dieses Artikels. Dieser Artikel behandelt ausschließlich das Update der zugrundeliegenden SAP JVM.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Konfiguration ===&lt;br /&gt;
  Es ist keine spezielle Vorab-Konfiguration auf Betriebssystemebene nötig, außer dass das Tool SAPCAR verfügbar sein muss und Root-Rechte für die Verzeichniserstellung benötigt werden.&lt;br /&gt;
&lt;br /&gt;
  === Update ===&lt;br /&gt;
  Das Update erfolgt durch das Anlegen eines neuen JVM-Verzeichnisses und dem Anpassen der Profil-Datei.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  1. Neues Verzeichnis als root/sudo anlegen und Rechte setzen (Version im Namen anpassen)&lt;br /&gt;
  mkdir -p /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  chown daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2. Zum DAA-User wechseln und in das neue Verzeichnis gehen&lt;br /&gt;
  su - daaadm&lt;br /&gt;
  cd /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  3. Das heruntergeladene Archiv entpacken (Pfade anpassen)&lt;br /&gt;
  /usr/sap/DAA/SYS/exe/uc/linuxx86_64/SAPCAR -xvf /Pfad/zur/Datei/SAPJVM8_108-80000202.SAR&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Im Anschluss muss das Instanzprofil des Diagnostics Agents angepasst werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Profil editieren (Hostname anpassen)&lt;br /&gt;
  vi /usr/sap/DAA/SYS/profile/DAA_SMDA98_&amp;lt;Hostname&amp;gt;&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Dort die Variable SAPJVM_VERSION auf die neue Version ändern:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Vorher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.097&lt;br /&gt;
&lt;br /&gt;
  Nachher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.108&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Den Agenten als daaadm neu starten, damit sapcpe die neuen Binaries kopiert:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  stopsap&lt;br /&gt;
  startsap&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  === Test ===&lt;br /&gt;
  Nach dem Neustart prüfen, ob die neue JVM aktiv ist (als User daaadm):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  1. Java-Version im Ausführungsverzeichnis prüfen&lt;br /&gt;
  /usr/sap/DAA/SMDA98/exe/sapjvm_8/bin/java -version&lt;br /&gt;
&lt;br /&gt;
  2. Prüfen, ob der laufende Agent-Prozess den korrekten Java-Pfad nutzt&lt;br /&gt;
  ps -ef | grep DAA | grep java&lt;br /&gt;
&lt;br /&gt;
  3. sapcpe-Log prüfen, ob aus dem neuen Verzeichnis kopiert wurde&lt;br /&gt;
  grep &amp;quot;source&amp;quot; /usr/sap/DAA/SMDA98/work/sapcpe.log | tail -n 5&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Fehlerbehebung===&lt;br /&gt;
  ====Starten/Stoppen funktioniert nicht====&lt;br /&gt;
  Wenn startsap oder stopsap mit Fehlern abbrechen oder der Agent nicht hochfährt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  =====Lösung 1=====&lt;br /&gt;
  Prüfen, ob die Berechtigungen des neu angelegten Verzeichnisses korrekt sind und ob die Versionsnummer im Profil (SAPJVM_VERSION) exakt dem Namen des Verzeichnisses entspricht.&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Berechtigungen prüfen (muss daaadm:sapsys sein)&lt;br /&gt;
  ls -ld /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Falls falsch, als root korrigieren:&lt;br /&gt;
  chown -R daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Codeschnipsel ===&lt;br /&gt;
  Entpacken, wenn SAPCAR und die .SAR-Datei eine Ebene über dem neuen JVM-Verzeichnis liegen:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Als daaadm aus dem neu erstellten sapjvm_8.1.x Ordner heraus ausführen&lt;br /&gt;
  ../SAPCAR -xvf ../SAPJVM8_108-80000202.SAR&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Nützliche Links ===&lt;br /&gt;
   * [https://me.sap.com/notes/3408212 SAP Note 3408212 - Diagnostics Agent - How To Switch or Update SAP JVM]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=524</id>
		<title>DAA Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=524"/>
		<updated>2026-03-06T09:29:00Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &amp;lt;pre&amp;gt;&lt;br /&gt;
  === Beschreibung ===&lt;br /&gt;
  Diese Anleitung beschreibt das manuelle Update der SAP JVM für den Diagnostics Agent (DAA) unter Linux. Da der Agent seine JVM nicht automatisch patchen kann, muss das Update manuell über das Anlegen eines neuen Verzeichnisses und die Anpassung des Instanzprofils&lt;br /&gt;
  erfolgen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Download ===&lt;br /&gt;
  Die aktuelle SAP JVM 8.1 im .SAR-Format muss aus dem SAP Support Portal (Software Center) heruntergeladen werden.&lt;br /&gt;
   * Dateibeispiel: SAPJVM8_108-80000202.SAR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Installation ===&lt;br /&gt;
  &#039;&#039;Die Erstinstallation des Diagnostics Agents ist nicht Teil dieses Artikels. Dieser Artikel behandelt ausschließlich das Update der zugrundeliegenden SAP JVM.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Konfiguration ===&lt;br /&gt;
  Es ist keine spezielle Vorab-Konfiguration auf Betriebssystemebene nötig, außer dass das Tool SAPCAR verfügbar sein muss und Root-Rechte für die Verzeichniserstellung benötigt werden.&lt;br /&gt;
&lt;br /&gt;
  === Update ===&lt;br /&gt;
  Das Update erfolgt durch das Anlegen eines neuen JVM-Verzeichnisses und dem Anpassen der Profil-Datei.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  1. Neues Verzeichnis als root/sudo anlegen und Rechte setzen (Version im Namen anpassen)&lt;br /&gt;
  mkdir -p /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  chown daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  2. Zum DAA-User wechseln und in das neue Verzeichnis gehen&lt;br /&gt;
  su - daaadm&lt;br /&gt;
  cd /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  3. Das heruntergeladene Archiv entpacken (Pfade anpassen)&lt;br /&gt;
  /usr/sap/DAA/SYS/exe/uc/linuxx86_64/SAPCAR -xvf /Pfad/zur/Datei/SAPJVM8_108-80000202.SAR&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  Im Anschluss muss das Instanzprofil des Diagnostics Agents angepasst werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Profil editieren (Hostname anpassen)&lt;br /&gt;
  vi /usr/sap/DAA/SYS/profile/DAA_SMDA98_&amp;lt;Hostname&amp;gt;&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Dort die Variable SAPJVM_VERSION auf die neue Version ändern:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Vorher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.097&lt;br /&gt;
&lt;br /&gt;
  Nachher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.108&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Den Agenten als daaadm neu starten, damit sapcpe die neuen Binaries kopiert:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  stopsap&lt;br /&gt;
  startsap&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  === Test ===&lt;br /&gt;
  Nach dem Neustart prüfen, ob die neue JVM aktiv ist (als User daaadm):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  1. Java-Version im Ausführungsverzeichnis prüfen&lt;br /&gt;
  /usr/sap/DAA/SMDA98/exe/sapjvm_8/bin/java -version&lt;br /&gt;
&lt;br /&gt;
  2. Prüfen, ob der laufende Agent-Prozess den korrekten Java-Pfad nutzt&lt;br /&gt;
  ps -ef | grep DAA | grep java&lt;br /&gt;
&lt;br /&gt;
  3. sapcpe-Log prüfen, ob aus dem neuen Verzeichnis kopiert wurde&lt;br /&gt;
  grep &amp;quot;source&amp;quot; /usr/sap/DAA/SMDA98/work/sapcpe.log | tail -n 5&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Fehlerbehebung===&lt;br /&gt;
  ====Starten/Stoppen funktioniert nicht====&lt;br /&gt;
  Wenn startsap oder stopsap mit Fehlern abbrechen oder der Agent nicht hochfährt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  =====Lösung 1=====&lt;br /&gt;
  Prüfen, ob die Berechtigungen des neu angelegten Verzeichnisses korrekt sind und ob die Versionsnummer im Profil (SAPJVM_VERSION) exakt dem Namen des Verzeichnisses entspricht.&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Berechtigungen prüfen (muss daaadm:sapsys sein)&lt;br /&gt;
  ls -ld /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Falls falsch, als root korrigieren:&lt;br /&gt;
  chown -R daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Codeschnipsel ===&lt;br /&gt;
  Entpacken, wenn SAPCAR und die .SAR-Datei eine Ebene über dem neuen JVM-Verzeichnis liegen:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  Als daaadm aus dem neu erstellten sapjvm_8.1.x Ordner heraus ausführen&lt;br /&gt;
  ../SAPCAR -xvf ../SAPJVM8_108-80000202.SAR&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  === Nützliche Links ===&lt;br /&gt;
   * [https://me.sap.com/notes/3408212 SAP Note 3408212 - Diagnostics Agent - How To Switch or Update SAP JVM]&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=523</id>
		<title>DAA Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=DAA_Agent&amp;diff=523"/>
		<updated>2026-03-06T09:27:45Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: Die Seite wurde neu angelegt: „  &amp;lt;pre&amp;gt;   = Update der SAP JVM für den SAP Diagnostics Agent (DAA) =     Diese Anleitung beschreibt das manuelle Update der SAP JVM für den Diagnostics Agent (DAA) unter Linux. Da der Agent seine JVM nicht automatisch patchen kann, muss das Update manuell über das Anlegen eines neuen Verzeichnisses und die Anpassung des Instanzprofils erfolgen   (gemäß SAP Hinweis 3408212).     == Voraussetzungen ==    * Die aktuelle SAP JVM 8.1 im .SAR-Format wurde…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;  &amp;lt;pre&amp;gt;&lt;br /&gt;
  = Update der SAP JVM für den SAP Diagnostics Agent (DAA) =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Diese Anleitung beschreibt das manuelle Update der SAP JVM für den Diagnostics Agent (DAA) unter Linux. Da der Agent seine JVM nicht automatisch patchen kann, muss das Update manuell über das Anlegen eines neuen Verzeichnisses und die Anpassung des Instanzprofils erfolgen&lt;br /&gt;
  (gemäß SAP Hinweis 3408212).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  == Voraussetzungen ==&lt;br /&gt;
   * Die aktuelle SAP JVM 8.1 im .SAR-Format wurde aus dem SAP Support Portal heruntergeladen (z. B. &amp;lt;code&amp;gt;SAPJVM8_108-80000202.SAR&amp;lt;/code&amp;gt;).&lt;br /&gt;
   * Das Tool &amp;lt;code&amp;gt;SAPCAR&amp;lt;/code&amp;gt; ist auf dem Server verfügbar.&lt;br /&gt;
   * Root-Rechte (bzw. &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;) zum Anlegen der Berechtigungen sowie Zugriff auf den User &amp;lt;code&amp;gt;daaadm&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  == 1. Neues Verzeichnis anlegen ==&lt;br /&gt;
  Zuerst muss ein neues Verzeichnis für die Ziel-Version der JVM erstellt und dem DAA-Admin zugewiesen werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Melde dich als &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; (oder mit &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;) an:&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  mkdir -p /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  chown daaadm:sapsys /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  == 2. SAP JVM entpacken ==&lt;br /&gt;
  Das Entpacken erfolgt als User &amp;lt;code&amp;gt;daaadm&amp;lt;/code&amp;gt; direkt in das neu erstellte Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Wechsle zum User &amp;lt;code&amp;gt;daaadm&amp;lt;/code&amp;gt;:&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  su - daaadm&lt;br /&gt;
  cd /usr/sap/DAA/SYS/exe/jvm/linuxx86_64/sapjvm_8.1.108&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Entpacke das Archiv mit &amp;lt;code&amp;gt;SAPCAR&amp;lt;/code&amp;gt; (Pfade ggf. an den Ablageort der Datei anpassen):&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  /usr/sap/DAA/SYS/exe/uc/linuxx86_64/SAPCAR -xvf /Pfad/zur/Datei/SAPJVM8_108-80000202.SAR&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  &#039;&#039;Hinweis: Falls SAPCAR und die .SAR-Datei eine Ebene darüber liegen, kann auch &amp;lt;code&amp;gt;../SAPCAR -xvf ../SAPJVM8_108-80000202.SAR&amp;lt;/code&amp;gt; genutzt werden.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  == 3. Instanzprofil anpassen ==&lt;br /&gt;
  Damit das Programm &amp;lt;code&amp;gt;sapcpe&amp;lt;/code&amp;gt; beim Starten des Agenten die neuen Binaries in das Ausführungsverzeichnis kopiert, muss die Version im Profil aktualisiert werden.&lt;br /&gt;
&lt;br /&gt;
  Öffne das Profil mit einem Texteditor (z. B. &amp;lt;code&amp;gt;vi&amp;lt;/code&amp;gt;):&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  vi /usr/sap/DAA/SYS/profile/DAA_SMDA98_&amp;lt;Hostname&amp;gt;&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Suche nach der Variable &amp;lt;code&amp;gt;SAPJVM_VERSION&amp;lt;/code&amp;gt; und ändere den Wert auf die neue Version (hier im Beispiel von &amp;lt;code&amp;gt;8.1.097&amp;lt;/code&amp;gt; auf &amp;lt;code&amp;gt;8.1.108&amp;lt;/code&amp;gt;):&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  Vorher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.097&lt;br /&gt;
&lt;br /&gt;
  Nachher:&lt;br /&gt;
  SAPJVM_VERSION = 8.1.108&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  Speichern und schließen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  == 4. Diagnostics Agent neustarten ==&lt;br /&gt;
  Damit die Änderungen aktiv und die neuen Dateien per &amp;lt;code&amp;gt;sapcpe&amp;lt;/code&amp;gt; in das Ausführungsverzeichnis (&amp;lt;code&amp;gt;/usr/sap/DAA/SMDA98/exe/&amp;lt;/code&amp;gt;) kopiert werden, muss der Agent neu gestartet werden.&lt;br /&gt;
&lt;br /&gt;
  Als User &amp;lt;code&amp;gt;daaadm&amp;lt;/code&amp;gt; ausführen:&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  stopsap&lt;br /&gt;
  startsap&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  == 5. Überprüfung ==&lt;br /&gt;
  Nach dem Neustart kann mit folgenden Befehlen (als &amp;lt;code&amp;gt;daaadm&amp;lt;/code&amp;gt;) verifiziert werden, ob die neue JVM aktiv ist:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;1. Java-Version im Ausführungsverzeichnis prüfen:&#039;&#039;&#039;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  /usr/sap/DAA/SMDA98/exe/sapjvm_8/bin/java -version&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  &#039;&#039;Erwartete Ausgabe: Die neue Version (z.B. 8.1.108) wird angezeigt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;2. Laufenden Prozess überprüfen:&#039;&#039;&#039;&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  ps -ef | grep DAA | grep java&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  &#039;&#039;Der Pfad zum laufenden Java-Prozess sollte auf &amp;lt;code&amp;gt;/usr/sap/DAA/SMDA98/exe/sapjvm_8/bin/java&amp;lt;/code&amp;gt; zeigen.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;3. Copy-Log (sapcpe) kontrollieren:&#039;&#039;&#039;&lt;br /&gt;
  Um sicherzugehen, dass &amp;lt;code&amp;gt;sapcpe&amp;lt;/code&amp;gt; das korrekte Quellverzeichnis genutzt hat:&lt;br /&gt;
  &amp;lt;pre&amp;gt;&lt;br /&gt;
  grep &amp;quot;source&amp;quot; /usr/sap/DAA/SMDA98/work/sapcpe.log | tail -n 5&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;br /&gt;
  &#039;&#039;Hier sollte das neu angelegte Verzeichnis &amp;lt;code&amp;gt;sapjvm_8.1.108&amp;lt;/code&amp;gt; als Quelle (Source) gelistet sein.&#039;&#039;&lt;br /&gt;
  &amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Hauptseite&amp;diff=522</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Hauptseite&amp;diff=522"/>
		<updated>2026-03-06T09:27:26Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
In diesem Wiki stelle ich meine selbst erstellten Anleitungen, Workitems und Codeschnipsel für meinen Alltag für alle zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
==Inhaltsverzeichnis==&lt;br /&gt;
&lt;br /&gt;
#Virtualisierung&lt;br /&gt;
##[[Qemu/KVM|Qemu/KVM mit Libvirt]]&lt;br /&gt;
##[[Proxmox]]&lt;br /&gt;
###[[Proxmox-GPU-Passthough|GPU-Passthough]]&lt;br /&gt;
##[[Hyper-V|Windows Hyper-V]]&lt;br /&gt;
##[[Docker]]&lt;br /&gt;
#Betriebssysteme&lt;br /&gt;
##[[Linux]]&lt;br /&gt;
###[[Wireguard einrichten]]&lt;br /&gt;
###[[FTP Server]]&lt;br /&gt;
###[[Exim4]]&lt;br /&gt;
###[[Linux-Befehle|Befehle]]&lt;br /&gt;
###[[Netzwerktest]]&lt;br /&gt;
###[[NFS Share einrichten]]&lt;br /&gt;
###[[Postfix]]&lt;br /&gt;
##[[Windows]]&lt;br /&gt;
#Monitoring&lt;br /&gt;
##[[Icinga]]&lt;br /&gt;
##Focused Run&lt;br /&gt;
# [[SAP]]&lt;br /&gt;
## [[ABAP]]&lt;br /&gt;
### [[ZBV]]&lt;br /&gt;
## [[SAP Router]]&lt;br /&gt;
## [[SAP Hana Cockpit]]&lt;br /&gt;
## [[SAP Hostagent]]&lt;br /&gt;
## [[SAP Cloud Connector]]&lt;br /&gt;
## [[SAP Import All einplanen|Import All einplanen]]&lt;br /&gt;
## [[Archivserver]]&lt;br /&gt;
### [[SAPERION]]&lt;br /&gt;
## [[DAA Agent]]&lt;br /&gt;
##Datenbanken&lt;br /&gt;
###[[Oracle]]&lt;br /&gt;
###[[SAP MaxDB]]&lt;br /&gt;
###[[SAP HANA]]&lt;br /&gt;
####[[SAP HANA Zero Downtime Patching]]&lt;br /&gt;
###[[SAP ASE (Sybase)]]&lt;br /&gt;
###[[IBM DB2]]&lt;br /&gt;
## [[Adobe Document Server]]&lt;br /&gt;
#Smart-Home&lt;br /&gt;
##[[OpenHAB]]&lt;br /&gt;
#Netzwerk&lt;br /&gt;
##[https://schroederdennis.de/tutorial-howto/homelab-trotz-ipv6-cgnat-wireguard-nat-dnat-snat-1euro-vserver-dg-ipv4/ IPv4 mit VPS durch IPv6 tunneln]&lt;br /&gt;
##Firewall&lt;br /&gt;
###[[OPNSense]]&lt;br /&gt;
####[[VPN Gateway]]&lt;br /&gt;
#Spiele&lt;br /&gt;
##[[WoW]]&lt;br /&gt;
###[[AzerothCore]]&lt;br /&gt;
#AI / KI&lt;br /&gt;
##[[llama.cpp]]&lt;br /&gt;
##[[VLLm]]&lt;br /&gt;
##[[Ollama]]&lt;br /&gt;
## [https://www.reddit.com/r/ROCm/comments/1o99swp/rocm_70_install_for_mi50_32gb_ubuntu_2404_lts/?utm_source=share&amp;amp;utm_medium=web3x&amp;amp;utm_name=web3xcss&amp;amp;utm_term=1re&amp;amp;utm_medium=web3x&amp;amp;utm_name=web3xcss&amp;amp;utm_term=1|Instinct Mi 50 mit ROCm 7]&lt;br /&gt;
###[[Modell erstellen]]&lt;br /&gt;
#Sonstiges&lt;br /&gt;
##[[UrBackup]]&lt;br /&gt;
##[[Passwortregeln]]&lt;br /&gt;
#[[Template für neue Seiten]]&lt;br /&gt;
#[[Codeschnipsel ohne eigene Seite]]&lt;br /&gt;
#[[Test]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hilfe zur Verwendung und Konfiguration der Wiki-Software findest du im [[mediawikiwiki:Special:MyLanguage/Help:Contents|Benutzerhandbuch]].&lt;br /&gt;
&lt;br /&gt;
==Starthilfen==&lt;br /&gt;
&lt;br /&gt;
* [[mediawikiwiki:Special:MyLanguage/Manual:Configuration_settings|Liste der Konfigurationsparameter]]&lt;br /&gt;
*[[mediawikiwiki:Special:MyLanguage/Manual:FAQ|Häufige Fragen zu MediaWiki]]&lt;br /&gt;
*[https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ Mailingliste zu neuen Versionen von MediaWiki]&lt;br /&gt;
*[[mediawikiwiki:Special:MyLanguage/Localisation#Translation_resources|Übersetze MediaWiki für deine Sprache]]&lt;br /&gt;
*[[mediawikiwiki:Special:MyLanguage/Manual:Combating_spam|Erfahre, wie du Spam auf deinem Wiki bekämpfen kannst]]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP&amp;diff=521</id>
		<title>SAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP&amp;diff=521"/>
		<updated>2026-02-19T16:16:26Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Kernelupdate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
SAP ist ein deutsches Software-Unternehmen, das sich auf die Entwicklung und den Verkauf von Unternehmenssoftware spezialisiert hat. Die Software-Lösungen von SAP decken eine Vielzahl von Geschäftsbereichen ab, wie z.B. Finanzwesen, Personalwesen, Einkauf und Vertrieb. Die Produkte von SAP werden von Unternehmen aller Größenordnungen genutzt, um Geschäftsprozesse zu optimieren, Daten zu verwalten und bessere Entscheidungen zu treffen. Zu den bekanntesten SAP-Produkten gehören SAP ERP, SAP HANA und SAP S/4HANA.&lt;br /&gt;
===SWPM starten===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./sapinst SAPINST_STACK_XML=stack.xml SAPINST_USE_HOSTNAME=&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SUM starten===&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
=====ABAP=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/$SID/SUM&lt;br /&gt;
rm -R ./SUM&lt;br /&gt;
SAPCAR -xvf ./SUM11SP05_0-80006800.SAR&lt;br /&gt;
cd SUM/abap/&lt;br /&gt;
sudo ./SUMSTART confighostagent $SAPSYSTEMNAME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=====JAVA=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/$SID/SUM&lt;br /&gt;
rm -R ./SUM&lt;br /&gt;
SAPCAR -xvf ./SUM*.SAR&lt;br /&gt;
cd SUM&lt;br /&gt;
sudo ./STARTUP confighostagent $SAPSYSTEMNAME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Windows====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
STARTUP.BAT confighostagent &amp;lt;SID&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SAP Host Agent===&lt;br /&gt;
====Version überprüfen==== &lt;br /&gt;
[https://me.sap.com/notes/0002032385 Note 0002032385]&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
%Program Files%\SAP\hostctrl\exe\saphostexec.exe -version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostexec -version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Aktualisieren====&lt;br /&gt;
SAR Archiv herunterladen und nach /usr/sap/Z36/SUM kopieren&lt;br /&gt;
als root am System anmelden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostexec -upgrade -archive /usr/sap/&amp;lt;SID&amp;gt;/SUM/&amp;lt;ARCHIV&amp;gt;.SAR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Kernelupdate===&lt;br /&gt;
&#039;&#039;Siehe auch Workitem 2L-DB-SAP-00026: SAP Kerneltausch&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aktuellen Kernel herausfinden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
disp+work -v | grep &amp;quot;patch number&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Kernel Backup erstellen und alte Backups löschen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/&lt;br /&gt;
rm -R linuxx86_64_*&lt;br /&gt;
cp -R linuxx86_64 linuxx86_64_&amp;lt;DATUM&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal] aufrufen und nach &amp;quot;SAP KERNEL 7.85 64-BIT UNICODE&amp;quot; suchen&lt;br /&gt;
Die Archive herunterladen&lt;br /&gt;
Nach /sapmnt/SID/exe/uc/linuxx86_64/ kopieren&lt;br /&gt;
Ggf. noch Dateiberechtigungen korrigieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chown -R &amp;lt;SIDADM&amp;gt;:sapsys *.SAR &amp;amp;&amp;amp; chown -R &amp;lt;SIDADM&amp;gt;:sapsys *.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der richtigen Reihenfolge entpacken:&lt;br /&gt;
# SAPEXEDB.SAR&lt;br /&gt;
# SAPEXE.SAR&lt;br /&gt;
# dw_utils&lt;br /&gt;
# dw&lt;br /&gt;
# R3Trans&lt;br /&gt;
# tp&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/linuxx86_64/&lt;br /&gt;
SAPCAR -xvf SAPEXEDB_*.SAR&lt;br /&gt;
SAPCAR -xvf SAPEXE_*.SAR&lt;br /&gt;
SAPCAR -xvf R3trans_*.SAR&lt;br /&gt;
SAPCAR -xvf tp_*.sar&lt;br /&gt;
SAPCAR -xvf sapftp_*.sar&lt;br /&gt;
SAPCAR -xvf dw_*-*.sar&lt;br /&gt;
SAPCAR -xvf dw_utils*.sar&lt;br /&gt;
SAPCAR -xvf lib_dbsl*.sar&lt;br /&gt;
SAPCAR -xvf sapwebgui*.sar&lt;br /&gt;
SAPCAR -xvf saphttp_*.sar&lt;br /&gt;
SAPCAR -xvf abap2vcs_*.sar&lt;br /&gt;
SAPCAR -xvf SYBCTRL*.SAR&lt;br /&gt;
SAPCAR -xvf sapnwrfc_*.sar&lt;br /&gt;
SAPCAR -xvf ENSA2_*.SAR&lt;br /&gt;
SAPCAR -xvf saplicense_*.sar&lt;br /&gt;
SAPCAR -xvf enserver_*.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Aufräumen und alte SAR Archive löschen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/linuxx86_64/ &amp;amp;&amp;amp; rm *.SAR &amp;amp;&amp;amp; rm *.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder in Kurzform:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -r | grep -i &#039;.*[0-9].*\.sar$&#039; | xargs -I {} SAPCAR -xvf {}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Dies entpackt alle sar Archive, die eine Versionsnummer im Namen enthalten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis: vorher Kontrollieren ob mit der Ausgabe ls -r tatsächlich SAPEXEDB &#039;&#039;&#039;vor&#039;&#039;&#039; SAPEXE ausgegeben wird.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
SAP neustarten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sapcontrol -nr 00 -function RestartSystem &amp;amp;&amp;amp; watch -n 1 sapcontrol -nr 00 -function GetProcessList&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Oracle Nacharbeiten====&lt;br /&gt;
Falls als DB die Oracle DB verwendet wird, müssen noch Berechtigungen nachgezogen werden, da es sonst zu Problemen mit BRTOOLS kommen kann.&lt;br /&gt;
Als root unter /sapmnt/&amp;lt;SID&amp;gt;/exe/nuc/linuxx86_64:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R 4775 brrestore brspace brrecover brconnect brbackup brarchive&lt;br /&gt;
chown -R oracle:oinstall brrestore brspace brrecover brconnect brbackup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Memory Parameter prüfen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cdpro&lt;br /&gt;
sappfpar check pf=&amp;lt;profile_file&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===JAVA===&lt;br /&gt;
====Sysinfo.xml generieren====&lt;br /&gt;
https://me.sap.com/notes/2293050&lt;br /&gt;
====Java patchen====&lt;br /&gt;
Patches unter /usr/sap/&amp;lt;SID&amp;gt;/SUM/ ablegen&lt;br /&gt;
&lt;br /&gt;
Als &amp;lt;SID&amp;gt;adm anmelden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
telnet localhost 50108&lt;br /&gt;
Administrator &lt;br /&gt;
&amp;lt;PW&amp;gt;&lt;br /&gt;
add deploy &lt;br /&gt;
deploy /usr/sap/&amp;lt;SID&amp;gt;/SUM/ version_rule=all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Eventuell SAP stoppen und wieder starten&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dura9708:djpadm 73&amp;gt; ls -ltr&lt;br /&gt;
total 169596&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  18675603 Apr 28 10:29 MESSAGING24P_21-80000682.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  25564663 Apr 28 10:29 J2EEFRMW24P_4-80000439.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  14020864 Apr 28 10:29 ENGINEAPI24P_4-80000618.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys 115196425 Apr 28 10:29 SERVERCORE24P_15-80000485.SCA&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP&amp;diff=520</id>
		<title>SAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP&amp;diff=520"/>
		<updated>2026-02-19T16:12:43Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Kernelupdate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
SAP ist ein deutsches Software-Unternehmen, das sich auf die Entwicklung und den Verkauf von Unternehmenssoftware spezialisiert hat. Die Software-Lösungen von SAP decken eine Vielzahl von Geschäftsbereichen ab, wie z.B. Finanzwesen, Personalwesen, Einkauf und Vertrieb. Die Produkte von SAP werden von Unternehmen aller Größenordnungen genutzt, um Geschäftsprozesse zu optimieren, Daten zu verwalten und bessere Entscheidungen zu treffen. Zu den bekanntesten SAP-Produkten gehören SAP ERP, SAP HANA und SAP S/4HANA.&lt;br /&gt;
===SWPM starten===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./sapinst SAPINST_STACK_XML=stack.xml SAPINST_USE_HOSTNAME=&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SUM starten===&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
=====ABAP=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/$SID/SUM&lt;br /&gt;
rm -R ./SUM&lt;br /&gt;
SAPCAR -xvf ./SUM11SP05_0-80006800.SAR&lt;br /&gt;
cd SUM/abap/&lt;br /&gt;
sudo ./SUMSTART confighostagent $SAPSYSTEMNAME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=====JAVA=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/$SID/SUM&lt;br /&gt;
rm -R ./SUM&lt;br /&gt;
SAPCAR -xvf ./SUM*.SAR&lt;br /&gt;
cd SUM&lt;br /&gt;
sudo ./STARTUP confighostagent $SAPSYSTEMNAME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Windows====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
STARTUP.BAT confighostagent &amp;lt;SID&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SAP Host Agent===&lt;br /&gt;
====Version überprüfen==== &lt;br /&gt;
[https://me.sap.com/notes/0002032385 Note 0002032385]&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
%Program Files%\SAP\hostctrl\exe\saphostexec.exe -version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostexec -version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Aktualisieren====&lt;br /&gt;
SAR Archiv herunterladen und nach /usr/sap/Z36/SUM kopieren&lt;br /&gt;
als root am System anmelden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostexec -upgrade -archive /usr/sap/&amp;lt;SID&amp;gt;/SUM/&amp;lt;ARCHIV&amp;gt;.SAR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Kernelupdate===&lt;br /&gt;
&#039;&#039;Siehe auch Workitem 2L-DB-SAP-00026: SAP Kerneltausch&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aktuellen Kernel herausfinden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
disp+work -v | grep &amp;quot;patch number&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Kernel Backup erstellen und alte Backups löschen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/&lt;br /&gt;
rm -R linuxx86_64_*&lt;br /&gt;
cp -R linuxx86_64 linuxx86_64_&amp;lt;DATUM&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal] aufrufen und nach &amp;quot;SAP KERNEL 7.85 64-BIT UNICODE&amp;quot; suchen&lt;br /&gt;
Die Archive herunterladen&lt;br /&gt;
Nach /sapmnt/SID/exe/uc/linuxx86_64/ kopieren&lt;br /&gt;
Ggf. noch Dateiberechtigungen korrigieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chown -R &amp;lt;SIDADM&amp;gt;:sapsys *.SAR &amp;amp;&amp;amp; chown -R &amp;lt;SIDADM&amp;gt;:sapsys *.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der richtigen Reihenfolge entpacken:&lt;br /&gt;
# SAPEXEDB.SAR&lt;br /&gt;
# SAPEXE.SAR&lt;br /&gt;
# dw_utils&lt;br /&gt;
# dw&lt;br /&gt;
# R3Trans&lt;br /&gt;
# tp&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/linuxx86_64/&lt;br /&gt;
SAPCAR -xvf SAPEXEDB_*.SAR&lt;br /&gt;
SAPCAR -xvf SAPEXE_*.SAR&lt;br /&gt;
SAPCAR -xvf R3trans_*.SAR&lt;br /&gt;
SAPCAR -xvf tp_*.sar&lt;br /&gt;
SAPCAR -xvf sapftp_*.sar&lt;br /&gt;
SAPCAR -xvf dw_*-*.sar&lt;br /&gt;
SAPCAR -xvf dw_utils*.sar&lt;br /&gt;
SAPCAR -xvf lib_dbsl*.sar&lt;br /&gt;
SAPCAR -xvf sapwebgui*.sar&lt;br /&gt;
SAPCAR -xvf saphttp_*.sar&lt;br /&gt;
SAPCAR -xvf abap2vcs_*.sar&lt;br /&gt;
SAPCAR -xvf SYBCTRL*.SAR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Aufräumen und alte SAR Archive löschen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/linuxx86_64/ &amp;amp;&amp;amp; rm *.SAR &amp;amp;&amp;amp; rm *.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder in Kurzform:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -r | grep -i &#039;.*[0-9].*\.sar$&#039; | xargs -I {} SAPCAR -xvf {}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Dies entpackt alle sar Archive, die eine Versionsnummer im Namen enthalten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis: vorher Kontrollieren ob mit der Ausgabe ls -r tatsächlich SAPEXEDB &#039;&#039;&#039;vor&#039;&#039;&#039; SAPEXE ausgegeben wird.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
SAP neustarten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sapcontrol -nr 00 -function RestartSystem &amp;amp;&amp;amp; watch -n 1 sapcontrol -nr 00 -function GetProcessList&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Oracle Nacharbeiten====&lt;br /&gt;
Falls als DB die Oracle DB verwendet wird, müssen noch Berechtigungen nachgezogen werden, da es sonst zu Problemen mit BRTOOLS kommen kann.&lt;br /&gt;
Als root unter /sapmnt/&amp;lt;SID&amp;gt;/exe/nuc/linuxx86_64:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R 4775 brrestore brspace brrecover brconnect brbackup brarchive&lt;br /&gt;
chown -R oracle:oinstall brrestore brspace brrecover brconnect brbackup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Memory Parameter prüfen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cdpro&lt;br /&gt;
sappfpar check pf=&amp;lt;profile_file&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===JAVA===&lt;br /&gt;
====Sysinfo.xml generieren====&lt;br /&gt;
https://me.sap.com/notes/2293050&lt;br /&gt;
====Java patchen====&lt;br /&gt;
Patches unter /usr/sap/&amp;lt;SID&amp;gt;/SUM/ ablegen&lt;br /&gt;
&lt;br /&gt;
Als &amp;lt;SID&amp;gt;adm anmelden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
telnet localhost 50108&lt;br /&gt;
Administrator &lt;br /&gt;
&amp;lt;PW&amp;gt;&lt;br /&gt;
add deploy &lt;br /&gt;
deploy /usr/sap/&amp;lt;SID&amp;gt;/SUM/ version_rule=all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Eventuell SAP stoppen und wieder starten&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dura9708:djpadm 73&amp;gt; ls -ltr&lt;br /&gt;
total 169596&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  18675603 Apr 28 10:29 MESSAGING24P_21-80000682.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  25564663 Apr 28 10:29 J2EEFRMW24P_4-80000439.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  14020864 Apr 28 10:29 ENGINEAPI24P_4-80000618.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys 115196425 Apr 28 10:29 SERVERCORE24P_15-80000485.SCA&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP&amp;diff=519</id>
		<title>SAP</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP&amp;diff=519"/>
		<updated>2026-02-19T16:11:37Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Kernelupdate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Beschreibung===&lt;br /&gt;
SAP ist ein deutsches Software-Unternehmen, das sich auf die Entwicklung und den Verkauf von Unternehmenssoftware spezialisiert hat. Die Software-Lösungen von SAP decken eine Vielzahl von Geschäftsbereichen ab, wie z.B. Finanzwesen, Personalwesen, Einkauf und Vertrieb. Die Produkte von SAP werden von Unternehmen aller Größenordnungen genutzt, um Geschäftsprozesse zu optimieren, Daten zu verwalten und bessere Entscheidungen zu treffen. Zu den bekanntesten SAP-Produkten gehören SAP ERP, SAP HANA und SAP S/4HANA.&lt;br /&gt;
===SWPM starten===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./sapinst SAPINST_STACK_XML=stack.xml SAPINST_USE_HOSTNAME=&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SUM starten===&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
=====ABAP=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/$SID/SUM&lt;br /&gt;
rm -R ./SUM&lt;br /&gt;
SAPCAR -xvf ./SUM11SP05_0-80006800.SAR&lt;br /&gt;
cd SUM/abap/&lt;br /&gt;
sudo ./SUMSTART confighostagent $SAPSYSTEMNAME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=====JAVA=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /usr/sap/$SID/SUM&lt;br /&gt;
rm -R ./SUM&lt;br /&gt;
SAPCAR -xvf ./SUM*.SAR&lt;br /&gt;
cd SUM&lt;br /&gt;
sudo ./STARTUP confighostagent $SAPSYSTEMNAME&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Windows====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
STARTUP.BAT confighostagent &amp;lt;SID&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SAP Host Agent===&lt;br /&gt;
====Version überprüfen==== &lt;br /&gt;
[https://me.sap.com/notes/0002032385 Note 0002032385]&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
%Program Files%\SAP\hostctrl\exe\saphostexec.exe -version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Linux:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostexec -version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Aktualisieren====&lt;br /&gt;
SAR Archiv herunterladen und nach /usr/sap/Z36/SUM kopieren&lt;br /&gt;
als root am System anmelden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostexec -upgrade -archive /usr/sap/&amp;lt;SID&amp;gt;/SUM/&amp;lt;ARCHIV&amp;gt;.SAR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Kernelupdate===&lt;br /&gt;
&#039;&#039;Siehe auch Workitem 2L-DB-SAP-00026: SAP Kerneltausch&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Aktuellen Kernel herausfinden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
disp+work -v | grep &amp;quot;patch number&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Kernel Backup erstellen und alte Backups löschen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/&lt;br /&gt;
rm -R linuxx86_64_*&lt;br /&gt;
cp -R linuxx86_64 linuxx86_64_&amp;lt;DATUM&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal] aufrufen und nach &amp;quot;SAP KERNEL 7.85 64-BIT UNICODE&amp;quot; suchen&lt;br /&gt;
Die Archive herunterladen&lt;br /&gt;
Nach /sapmnt/SID/exe/uc/linuxx86_64/ kopieren&lt;br /&gt;
Ggf. noch Dateiberechtigungen korrigieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chown -R &amp;lt;SIDADM&amp;gt;:sapsys *.SAR &amp;amp;&amp;amp; chown -R &amp;lt;SIDADM&amp;gt;:sapsys *.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In der richtigen Reihenfolge entpacken:&lt;br /&gt;
# SAPEXEDB.SAR&lt;br /&gt;
# SAPEXE.SAR&lt;br /&gt;
# dw_utils&lt;br /&gt;
# dw&lt;br /&gt;
# R3Trans&lt;br /&gt;
# tp&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /sapmnt/*/exe/uc/linuxx86_64/&lt;br /&gt;
SAPCAR -xvf SAPEXEDB_*.SAR&lt;br /&gt;
SAPCAR -xvf SAPEXE_*.SAR&lt;br /&gt;
SAPCAR -xvf R3trans_*.SAR&lt;br /&gt;
SAPCAR -xvf tp_*.sar&lt;br /&gt;
SAPCAR -xvf sapftp_*.sar&lt;br /&gt;
SAPCAR -xvf dw_*-*.sar&lt;br /&gt;
SAPCAR -xvf dw_utils*.sar&lt;br /&gt;
SAPCAR -xvf lib_dbsl*.sar&lt;br /&gt;
SAPCAR -xvf sapwebgui*.sar&lt;br /&gt;
SAPCAR -xvf saphttp_*.sar&lt;br /&gt;
SAPCAR -xvf abap2vcs_*.sar&lt;br /&gt;
SAPCAR -xvf SYBCTRL*.SAR&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Aufräumen und alte SAR Archive löschen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm /sapmnt/*/exe/uc/linuxx86_64/*.SAR &amp;amp;&amp;amp; rm /sapmnt/*/exe/uc/linuxx86_64/*.sar&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder in Kurzform:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -r | grep -i &#039;.*[0-9].*\.sar$&#039; | xargs -I {} SAPCAR -xvf {}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Dies entpackt alle sar Archive, die eine Versionsnummer im Namen enthalten.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Hinweis: vorher Kontrollieren ob mit der Ausgabe ls -r tatsächlich SAPEXEDB &#039;&#039;&#039;vor&#039;&#039;&#039; SAPEXE ausgegeben wird.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
SAP neustarten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sapcontrol -nr 00 -function RestartSystem &amp;amp;&amp;amp; watch -n 1 sapcontrol -nr 00 -function GetProcessList&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Oracle Nacharbeiten====&lt;br /&gt;
Falls als DB die Oracle DB verwendet wird, müssen noch Berechtigungen nachgezogen werden, da es sonst zu Problemen mit BRTOOLS kommen kann.&lt;br /&gt;
Als root unter /sapmnt/&amp;lt;SID&amp;gt;/exe/nuc/linuxx86_64:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod -R 4775 brrestore brspace brrecover brconnect brbackup brarchive&lt;br /&gt;
chown -R oracle:oinstall brrestore brspace brrecover brconnect brbackup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Memory Parameter prüfen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cdpro&lt;br /&gt;
sappfpar check pf=&amp;lt;profile_file&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===JAVA===&lt;br /&gt;
====Sysinfo.xml generieren====&lt;br /&gt;
https://me.sap.com/notes/2293050&lt;br /&gt;
====Java patchen====&lt;br /&gt;
Patches unter /usr/sap/&amp;lt;SID&amp;gt;/SUM/ ablegen&lt;br /&gt;
&lt;br /&gt;
Als &amp;lt;SID&amp;gt;adm anmelden&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
telnet localhost 50108&lt;br /&gt;
Administrator &lt;br /&gt;
&amp;lt;PW&amp;gt;&lt;br /&gt;
add deploy &lt;br /&gt;
deploy /usr/sap/&amp;lt;SID&amp;gt;/SUM/ version_rule=all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Eventuell SAP stoppen und wieder starten&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dura9708:djpadm 73&amp;gt; ls -ltr&lt;br /&gt;
total 169596&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  18675603 Apr 28 10:29 MESSAGING24P_21-80000682.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  25564663 Apr 28 10:29 J2EEFRMW24P_4-80000439.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys  14020864 Apr 28 10:29 ENGINEAPI24P_4-80000618.SCA&lt;br /&gt;
-rw-r--r-- 1 djpadm sapsys 115196425 Apr 28 10:29 SERVERCORE24P_15-80000485.SCA&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=518</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=518"/>
		<updated>2026-02-19T13:17:42Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Passwort Hash eines einzelnen Users kopieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm&lt;br /&gt;
./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User kopieren ===&lt;br /&gt;
Dieser Befehl kopiert den User von 000 nach 210&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;DELETE FROM SAPABAP1.USR02 WHERE MANDT = &#039;210&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;&amp;quot;; INSERT INTO SAPABAP1.USR02 (MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY ) SELECT &#039;210&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hash eines einzelnen Users kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02&lt;br /&gt;
SET&lt;br /&gt;
BCODE         = (SELECT BCODE FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
PASSCODE      = (SELECT PASSCODE FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
PWDSALTEDHASH = (SELECT PWDSALTEDHASH FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
CODVN         = (SELECT CODVN FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;),&lt;br /&gt;
PWDINITIAL    = 0,&lt;br /&gt;
UFLAG         = 0,&lt;br /&gt;
GLTGB = &#039;99991231&#039;&lt;br /&gt;
WHERE MANDT = &#039;321&#039;&lt;br /&gt;
AND BNAME = &#039;&amp;lt;NAME&amp;gt;&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hashes kompletter Mandanten kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02 T_ZIEL&lt;br /&gt;
 SET T_ZIEL.PWDSALTEDHASH = (&lt;br /&gt;
     SELECT T_QUELLE.PWDSALTEDHASH&lt;br /&gt;
     FROM SAPABAP1.USR02 T_QUELLE&lt;br /&gt;
     WHERE T_QUELLE.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_QUELLE.BNAME = T_ZIEL.BNAME&lt;br /&gt;
 )&lt;br /&gt;
 WHERE T_ZIEL.MANDT = &#039;301&#039;&lt;br /&gt;
   AND EXISTS (&lt;br /&gt;
     SELECT 1&lt;br /&gt;
     FROM SAPABAP1.USR02 T_CHECK&lt;br /&gt;
     WHERE T_CHECK.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_CHECK.BNAME = T_ZIEL.BNAME&lt;br /&gt;
   );&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Störungen===&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=517</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=517"/>
		<updated>2026-02-19T13:17:17Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Passwort Hash eines einzelnen Users kopieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm&lt;br /&gt;
./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User kopieren ===&lt;br /&gt;
Dieser Befehl kopiert den User von 000 nach 210&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;DELETE FROM SAPABAP1.USR02 WHERE MANDT = &#039;210&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;&amp;quot;; INSERT INTO SAPABAP1.USR02 (MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY ) SELECT &#039;210&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hash eines einzelnen Users kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02&lt;br /&gt;
SET&lt;br /&gt;
BCODE         = (SELECT BCODE FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;BTC-SUPPORT&#039;),&lt;br /&gt;
PASSCODE      = (SELECT PASSCODE FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;BTC-SUPPORT&#039;),&lt;br /&gt;
PWDSALTEDHASH = (SELECT PWDSALTEDHASH FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;BTC-SUPPORT&#039;),&lt;br /&gt;
CODVN         = (SELECT CODVN FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;BTC-SUPPORT&#039;),&lt;br /&gt;
PWDINITIAL    = 0,&lt;br /&gt;
UFLAG         = 0,&lt;br /&gt;
GLTGB = &#039;99991231&#039;&lt;br /&gt;
WHERE MANDT = &#039;321&#039;&lt;br /&gt;
AND BNAME = &#039;BTC-SUPPORT&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hashes kompletter Mandanten kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02 T_ZIEL&lt;br /&gt;
 SET T_ZIEL.PWDSALTEDHASH = (&lt;br /&gt;
     SELECT T_QUELLE.PWDSALTEDHASH&lt;br /&gt;
     FROM SAPABAP1.USR02 T_QUELLE&lt;br /&gt;
     WHERE T_QUELLE.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_QUELLE.BNAME = T_ZIEL.BNAME&lt;br /&gt;
 )&lt;br /&gt;
 WHERE T_ZIEL.MANDT = &#039;301&#039;&lt;br /&gt;
   AND EXISTS (&lt;br /&gt;
     SELECT 1&lt;br /&gt;
     FROM SAPABAP1.USR02 T_CHECK&lt;br /&gt;
     WHERE T_CHECK.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_CHECK.BNAME = T_ZIEL.BNAME&lt;br /&gt;
   );&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Störungen===&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=516</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=516"/>
		<updated>2026-02-18T10:36:51Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; git pull &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ik_llama.cpp ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DLLAMA_VULKAN=on&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DLLAMA_HIPBLAS=on -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=515</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=515"/>
		<updated>2026-02-13T21:42:51Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ik_llama.cpp ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DLLAMA_VULKAN=on&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DLLAMA_HIPBLAS=on -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=514</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=514"/>
		<updated>2026-02-12T21:49:20Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm&lt;br /&gt;
./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User kopieren ===&lt;br /&gt;
Dieser Befehl kopiert den User von 000 nach 210&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;DELETE FROM SAPABAP1.USR02 WHERE MANDT = &#039;210&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;&amp;quot;; INSERT INTO SAPABAP1.USR02 (MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY ) SELECT &#039;210&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hash eines einzelnen Users kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02&lt;br /&gt;
SET PWDSALTEDHASH = (SELECT PWDSALTEDHASH FROM SAPABAP1.USR02 WHERE MANDT = &#039;330&#039; AND BNAME = &#039;NAME&#039;),&lt;br /&gt;
PASSCODE      = (SELECT PASSCODE      FROM SAPABAP1.USR02 WHERE MANDT = &#039;330&#039; AND BNAME = &#039;NAME&#039;)&lt;br /&gt;
WHERE MANDT = &#039;331&#039;&lt;br /&gt;
AND BNAME = &#039;NAME&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passwort Hashes kompletter Mandanten kopieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
UPDATE SAPABAP1.USR02 T_ZIEL&lt;br /&gt;
 SET T_ZIEL.PWDSALTEDHASH = (&lt;br /&gt;
     SELECT T_QUELLE.PWDSALTEDHASH&lt;br /&gt;
     FROM SAPABAP1.USR02 T_QUELLE&lt;br /&gt;
     WHERE T_QUELLE.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_QUELLE.BNAME = T_ZIEL.BNAME&lt;br /&gt;
 )&lt;br /&gt;
 WHERE T_ZIEL.MANDT = &#039;301&#039;&lt;br /&gt;
   AND EXISTS (&lt;br /&gt;
     SELECT 1&lt;br /&gt;
     FROM SAPABAP1.USR02 T_CHECK&lt;br /&gt;
     WHERE T_CHECK.MANDT = &#039;300&#039;&lt;br /&gt;
       AND T_CHECK.BNAME = T_ZIEL.BNAME&lt;br /&gt;
   );&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Störungen===&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=VLLm&amp;diff=513</id>
		<title>VLLm</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=VLLm&amp;diff=513"/>
		<updated>2026-02-09T20:02:15Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Ausführen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Docker normal installieren&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
Normal (ROCm)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker pull rocm/vllm-dev:nightly&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
gfx906&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker pull nalanzeyu/vllm-gfx906&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführen ===&lt;br /&gt;
Variante 1:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm --shm-size=8g --device=/dev/kfd --device=/dev/dri \&lt;br /&gt;
    --group-add video -p 8086:8000 \&lt;br /&gt;
    -v /mnt/share/models:/models \&lt;br /&gt;
    nalanzeyu/vllm-gfx906 \&lt;br /&gt;
    vllm serve /models/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit --served-model-name Homelab --max-model-len 30000 --enable-auto-tool-choice --tool-call-parser hermes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Variante 2, getestet 18.12.2025:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker run -it --rm --network=host --group-add=video --ipc=host --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --device /dev/kfd --device /dev/dri -v /home/hendrik/.lmstudio/models/:/app/models -e HF_HOME=&amp;quot;/app/models&amp;quot; -e HF_TOKEN=&amp;quot;&amp;lt;TOKEN&amp;gt;&amp;quot; -e NCCL_P2P_DISABLE=1 -e VLLM_CUSTOM_OPS=all -e VLLM_ROCM_USE_AITER=0 -e SAFETENSORS_FAST_GPU=1 -e PYTORCH_TUNABLEOP_ENABLED=1 rocm/vllm-dev:nightly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für gfx1201:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker run -it --rm --network=host \&lt;br /&gt;
--group-add=video --ipc=host --cap-add=SYS_PTRACE \&lt;br /&gt;
--security-opt seccomp=unconfined --device /dev/kfd \&lt;br /&gt;
--device /dev/dri \&lt;br /&gt;
-v /home/hendrik/.lmstudio/models/:/app/models \&lt;br /&gt;
-e HF_HOME=&amp;quot;/app/models&amp;quot; \&lt;br /&gt;
-e HF_TOKEN=&amp;quot;&amp;lt;TOKEN&amp;gt;&amp;quot; \&lt;br /&gt;
-e NCCL_P2P_DISABLE=1 \&lt;br /&gt;
-e VLLM_CUSTOM_OPS=all \&lt;br /&gt;
-e VLLM_ROCM_USE_AITER=0 \&lt;br /&gt;
-e SAFETENSORS_FAST_GPU=1 \&lt;br /&gt;
-e PYTORCH_TUNABLEOP_ENABLED=1&lt;br /&gt;
kyuz0/vllm-therock-gfx1201&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ohne Tensor Parallism:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vllm serve Qwen/Qwen3-VL-8B-Thinking --served-model-name Homelab --max_model_len 4096 --enable-auto-tool-choice --tool-call-parser hermes --reasoning-parser qwen3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Mit:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vllm serve Qwen/Qwen3-VL-8B-Thinking --served-model-name Homelab --tp 2 --max_model_len 4096 --enable-auto-tool-choice --tool-call-parser hermes --reasoning-parser qwen3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Benchmark:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vllm bench serve --num-prompts 1 --dataset-name=random --input-len 512 --output-len 128 --model Qwen/Qwen3-4B-Instruct-2507-FP8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=512</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=512"/>
		<updated>2026-02-05T16:05:03Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* SAP User kopieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm&lt;br /&gt;
./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User kopieren ===&lt;br /&gt;
Dieser Befehl kopiert den User von 000 nach 210&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;DELETE FROM SAPABAP1.USR02 WHERE MANDT = &#039;210&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;&amp;quot;; INSERT INTO SAPABAP1.USR02 (MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY ) SELECT &#039;210&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Störungen===&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=511</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=511"/>
		<updated>2026-02-04T18:54:44Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* SAP HANA Update */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
chmod +x SAPCAR &amp;amp;&amp;amp; ./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm&lt;br /&gt;
./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User kopieren ===&lt;br /&gt;
Dieser Befehl kopiert den User von 000 nach 210&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;DELETE FROM SAPABAP1.USR02 WHERE MANDT = &#039;210&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;; INSERT INTO SAPABAP1.USR02 (MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY ) SELECT &#039;210&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Störungen===&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=510</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=510"/>
		<updated>2026-01-21T09:29:24Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm&lt;br /&gt;
./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User kopieren ===&lt;br /&gt;
Dieser Befehl kopiert den User von 000 nach 210&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;DELETE FROM SAPABAP1.USR02 WHERE MANDT = &#039;210&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;; INSERT INTO SAPABAP1.USR02 (MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY ) SELECT &#039;210&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, PWDSALTEDHASH, SECURITY_POLICY FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;&amp;lt;USER&amp;gt;&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Störungen===&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=509</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=509"/>
		<updated>2026-01-21T08:46:40Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* SAP User anzeigen lassen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm&lt;br /&gt;
./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;SID&amp;gt;-u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Störungen===&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=508</id>
		<title>SAP HANA</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=SAP_HANA&amp;diff=508"/>
		<updated>2026-01-21T08:46:22Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
SAP HANA ist eine In-Memory-Datenbank-Plattform, die von SAP entwickelt wurde. Sie ermöglicht es Unternehmen große Datenmengen in Echtzeit zu verarbeiten und zu analysieren. Die Plattform unterstützt sowohl transaktionale als auch analytische Anwendungen und ermöglicht es den Benutzern auf umfassende Echtzeit-Analysen zuzugreifen.&lt;br /&gt;
&lt;br /&gt;
Die In-Memory-Technologie von SAP HANA sorgt dafür, dass Daten in einem schnellen Zugriffsspeicher gespeichert werden, anstatt auf langsameren Festplatten. Dies führt zu schnelleren Datenzugriffszeiten und ermöglicht es Unternehmen Echtzeit-Transaktionen und Analysen durchzuführen.&lt;br /&gt;
&lt;br /&gt;
SAP HANA bietet auch eine Vielzahl von Tools und Anwendungen um Unternehmen bei der Verwaltung von Daten zu unterstützen. Dazu gehören Tools zur Datenintegration, Datenbereinigung, Datenmodellierung und Analyse. Es unterstützt auch eine Vielzahl von Programmiersprachen und Entwicklungsplattformen, einschließlich SAPUI5, Java, Python uvm.&lt;br /&gt;
=== Download ===&lt;br /&gt;
[https://me.sap.com/softwarecenter/support/index SAP Downloadportal]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://launchpad.support.sap.com/#/softwarecenter&amp;lt;/nowiki&amp;gt;   SUPPORT PACKAGES &amp;amp; PATCHES  By Category  SAP IN-MEMORY (SAP HANA )   HANA PLATFORM EDITION  SAP HANA PLATFORM EDITION   SAP HANA PLATFORM EDITION 2.0   SAP HANA CLIENT 2.0&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
hdblcm nach installieren:&lt;br /&gt;
https://me.sap.com/notes/2651885&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;install_media&amp;gt;/SAP_HANA_DATABASE/hdblcm --sid=&amp;lt;SID&amp;gt; --action=update --components=hdblcm --ignore=check_signature_file --verify_signature=off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration===&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Update===&lt;br /&gt;
Aktuelle Version als &amp;lt;SID&amp;gt;ADM mit &amp;quot;HDB version&amp;quot; anzeigen lassen&lt;br /&gt;
&lt;br /&gt;
IMDB_CLIENT&amp;lt;VERSION&amp;gt; und IMDB_SERVER&amp;lt;VERSION&amp;gt; von SAP herunterladen und nach /usr/sap/SUM kopieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo su - root&lt;br /&gt;
cd /usr/sap/SUM&lt;br /&gt;
SAPCAR -xvf IMDB_CLIENT*&lt;br /&gt;
./SAPCAR -xvf IMDB_SERVER*&lt;br /&gt;
cd /hana/shared/*/hdblcm&lt;br /&gt;
./hdblcm --action=update --ignore=check_signature_file --verify_signature=off --lss_trust_unsigned_components&lt;br /&gt;
Enter directory root to search for components: /usr/sap/SUM/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Mit &amp;quot;1&amp;quot; alles updaten und weiter den Anweisungen folgen.&lt;br /&gt;
&lt;br /&gt;
===SAP HANA Sizing Report===&lt;br /&gt;
Quelle: [https://blogs.sap.com/2021/05/06/how-to-install-run-the-abap-on-hana-sizing-report-sap-note-1872170-a-step-by-step-guide/ HANA Sizing Report]&lt;br /&gt;
# Note updaten. Prüfen, ob 2810633 einbaubar ist, ansonsten 2504480 einbauen. Wenn beide nicht einbaubar sind ist das System zu alt oder bereits aktuell.&lt;br /&gt;
# SA38 aufrufen und /SDF/HDB_SIZING ausführen&lt;br /&gt;
# &amp;quot;Number of parallel dialog processes&amp;quot; auf 3 setzen&lt;br /&gt;
# Ausführen oder als Hintergrundjob einplanen&lt;br /&gt;
&lt;br /&gt;
=== Kennwort ändern ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;quot;&amp;lt;new_password&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder direkt mit dem &amp;lt;SID&amp;gt;adm in der Shell:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER &amp;lt;USER&amp;gt; PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Hinweise: &lt;br /&gt;
* für System@TENANT und SYSTEM@SYSTEMDB muss der HDBUSERSTORE für das Backupscript aktualisiert werden und für die Anmeldung im HDB Studio&lt;br /&gt;
&lt;br /&gt;
Lösungsschritte:&lt;br /&gt;
&lt;br /&gt;
Prüfen, welche Keys angelegt sind:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Alten Key löschen (Beispiel: BACKUPKEY für SystemDB):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore delete BACKUP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Neuen Key anlegen und dabei das aktualisierte SYSTEM‑Passwort verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore set BACKUP &amp;lt;FQDN&amp;gt;:30013 SYSTEM &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SAPABAP1 Kennwort ändern====&lt;br /&gt;
&lt;br /&gt;
Direkt auf Applikationsserver:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n &amp;lt;FQDN&amp;gt;:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPABAP1 PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbuserstore set default &amp;lt;FQDN&amp;gt;:30013@&amp;lt;TENANT&amp;gt; SAPABAP1 &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Oder im HDB Studio:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER USER SAPABAP1 PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://me.sap.com/notes/0002750829 2750829 - Ändern des SAPABAP1-Schemakennworts in SAP HANA]&lt;br /&gt;
Anschließend siehe &amp;quot;SAP HANA HDB Userstore neu setzen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== SAPDBCTRL (SAP Host Agent) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d SYSTEMDB -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
hdbsql -n localhost:30013 -d &amp;lt;TENANT&amp;gt; -u SYSTEM -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;ALTER USER SAPDBCTRL PASSWORD &amp;lt;PW&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Dann als root fortfahren.&lt;br /&gt;
Für SystemDB, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname SYSTEMDB@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Für Tenant, bei dbpass Abfrage das Passwort vom SYSTEM-User eingeben:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/usr/sap/hostctrl/exe/saphostctrl -function SetDatabaseProperty -dbname IMP@IMP -dbtype hdb DBCredentials=SET -dbuser system -dbpass - -dboption Password=&amp;lt;SAPDBCTRLPW&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Encryption root keys backup password setzen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ALTER SYSTEM SET ENCRYPTION ROOT KEYS BACKUP PASSWORD &amp;quot;&amp;lt;PW&amp;gt;&amp;quot;; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===SAP HANA HDB Userstore neu setzen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET DEFAULT &amp;lt;FQDN:30013&amp;gt;@TENANT SAPABAP1 &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Hinweis: Auch wenn Kennwörter geändert werden, wie z.B. vom Backupuser, dann muss der hdbuserstore neu gesetzt werden.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
hdbuserstore SET BACKUP &amp;lt;FQDN&amp;gt;:30013@SYSTEMDB BACKUP_OPERATOR &#039;PASSWORD&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary/Secondary Schwenk===&lt;br /&gt;
ACHTUNG!! NUR CODESCHNIPSEL!!! Anleitung unvollständig&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Primary&lt;br /&gt;
hdbnsutil -sr_enable --name=S4PDB1&lt;br /&gt;
&lt;br /&gt;
Secondary&lt;br /&gt;
hdbnsutil -sr_unregister&lt;br /&gt;
hdbnsutil -sr_register --remoteHost=simas4pdb --remoteInstance=00 --replicationMode=sync --operationMode=logreplay --name=S4PDB2 --force_full_replica --online&lt;br /&gt;
HDB start &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
HDB info&lt;br /&gt;
HDB version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAP User anzeigen lassen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
hdbsql -n localhost:30013 -d IMP -u SAPABAP1 -p &#039;&amp;lt;PW&amp;gt;&#039; &amp;quot;SELECT BNAME, USTYP FROM SAPABAP1.USR02 WHERE MANDT = &#039;000&#039;&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Störungen===&lt;br /&gt;
====Tabelle BALDAT====&lt;br /&gt;
in der SLG2 je Mandant alles löschen und den Job SBAL_DELETE einplanen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Transparent Huge Pages (THP) are activated or not readable====&lt;br /&gt;
HANA Cockpit -&amp;gt; SystemDB -&amp;gt; Database Overview -&amp;gt; Alerting and Diagnostics -&amp;gt; Alert Definitions&lt;br /&gt;
ID 116 auswählen Transparent Huge Pages status ( ID 116) &lt;br /&gt;
Edit und den Schalter &amp;quot;Schedule Active&amp;quot; auf &amp;quot;no&amp;quot; setzen und &amp;quot;save&amp;quot;&lt;br /&gt;
===Codeschnipsel===&lt;br /&gt;
SELECT * FROM SYS.M_TABLES where SCHEMA_NAME =&#039;SAPHANADB&#039; AND TABLE_NAME = &#039;LMSEMAPHORE&#039;;&lt;br /&gt;
&lt;br /&gt;
===Nützliche Links===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=507</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=507"/>
		<updated>2026-01-19T23:00:23Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm-old &amp;amp;&amp;amp; cp -R build-rocm build-rocm-old&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=506</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=506"/>
		<updated>2026-01-07T14:50:58Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 16&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=505</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=505"/>
		<updated>2026-01-07T14:49:43Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1100 -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=504</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=504"/>
		<updated>2026-01-07T14:36:00Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install rocwmma-devel -y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx906 -DGGML_HIP_ROCWMMA_FATTN=ON \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=503</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=503"/>
		<updated>2026-01-07T14:33:58Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/ &amp;amp;&amp;amp; rm -R build-rocm&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx906 -DGGML_HIP_ROCWMMA_FATTN=ON \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=502</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=502"/>
		<updated>2026-01-07T14:33:39Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
rm -R build-rocm&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx906 -DGGML_HIP_ROCWMMA_FATTN=ON \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=501</id>
		<title>Llama.cpp</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Llama.cpp&amp;diff=501"/>
		<updated>2026-01-07T14:32:53Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Vulkan Build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
llama.cpp ist eine C/C++ Implementierung für Inference von Large Language Models (LLMs). Es unterstützt verschiedene Backends (CPU, Vulkan, ROCm, CUDA) und ermöglicht das Ausführen von quantisierten Modellen im GGUF-Format.&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/ggml-org/llama.cpp&lt;br /&gt;
cd llama.cpp&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Vulkan Build ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo dnf install libcurl-devel -y &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[https://vulkan.lunarg.com/sdk/home Vulkan SDK] herunterladen&lt;br /&gt;
entpacken, ins Verzeichnis wechseln und source setup-env.sh ausführen. Dann ins Verzeichnis wechseln wo llama.cpp installiert werden soll.&lt;br /&gt;
Dort dann &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
source /home/hendrik/Programme/Vulkan_SDK/1.4.335.0/setup-env.sh&lt;br /&gt;
cd /home/hendrik/Programme/llama.cpp/&lt;br /&gt;
rm -R build-vulkan&lt;br /&gt;
cmake -B build-vulkan -DGGML_VULKAN=1&lt;br /&gt;
cmake --build build-vulkan --config Release -- -j $(nproc)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ROCm Build (getestet mit ROCm 6.4.3 und 7.1.0 ====&lt;br /&gt;
gfx906 = Mi 50 Support&amp;lt;br&amp;gt;&lt;br /&gt;
gfx1100 = 7900 XTX Support&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Copy &amp;amp; paste all the commands from the quick install https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html&lt;br /&gt;
Before rebooting to complete the install, download the 6.4 rocblas from the AUR: https://archlinux.org/packages/extra/x86_64/rocblas/&lt;br /&gt;
Extract it &lt;br /&gt;
Copy all tensor files that contain gfx906 in rocblas-6.4.3-3-x86_64.pkg/opt/rocm/lib/rocblas/library to /opt/rocm/lib/rocblas/library&lt;br /&gt;
Reboot&lt;br /&gt;
Check if it worked by running sudo update-alternatives --display rocm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# ROCm Umgebung einrichten (optional falls Fehler auftreten)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &#039;export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH&#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
echo &#039;export HSA_OVERRIDE_GFX_VERSION=9.0.6&#039; &amp;gt;&amp;gt; ~/.bashrc  # Für MI50/MI60&lt;br /&gt;
source ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# llama.cpp kompilieren&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -B build-rocm -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx906 -DGGML_HIP_ROCWMMA_FATTN=ON \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release&lt;br /&gt;
cmake --build build-rocm --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für mehrere GPU-Architekturen gleichzeitig:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Für MI50 (gfx906) und RX 7900 XTX (gfx1100)&lt;br /&gt;
HIPCXX=&amp;quot;$(hipconfig -l)/clang&amp;quot; HIP_PATH=&amp;quot;$(hipconfig -R)&amp;quot; \&lt;br /&gt;
    cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=&amp;quot;gfx906;gfx1100&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=Release &amp;amp;&amp;amp; \&lt;br /&gt;
    cmake --build build --config Release -- -j 8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&lt;br /&gt;
==== llama-server als systemd Service einrichten ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei erstellen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo nano /etc/systemd/system/llama-server.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service-Datei Inhalt (Multi-GPU mit ROCm):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Llama.cpp ROCm Multi-GPU Server&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
User=username&lt;br /&gt;
Group=username&lt;br /&gt;
WorkingDirectory=/home/username/llama.cpp/build/bin&lt;br /&gt;
&lt;br /&gt;
# Multi-GPU Konfiguration&lt;br /&gt;
Environment=&amp;quot;HIP_VISIBLE_DEVICES=0,1&amp;quot;&lt;br /&gt;
Environment=&amp;quot;HSA_OVERRIDE_GFX_VERSION=9.0.6&amp;quot;&lt;br /&gt;
Environment=&amp;quot;PATH=/opt/rocm/bin:/usr/local/bin:/usr/bin:/bin&amp;quot;&lt;br /&gt;
Environment=&amp;quot;LD_LIBRARY_PATH=/opt/rocm/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Server mit optimalen Multi-GPU Einstellungen&lt;br /&gt;
ExecStart=/home/username/llama.cpp/build/bin/llama-server \&lt;br /&gt;
  -m /home/username/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&lt;br /&gt;
Restart=always&lt;br /&gt;
RestartSec=10&lt;br /&gt;
LimitNOFILE=65535&lt;br /&gt;
LimitMEMLOCK=infinity&lt;br /&gt;
StandardOutput=journal&lt;br /&gt;
StandardError=journal&lt;br /&gt;
SyslogIdentifier=llama-server&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service aktivieren und starten:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service neu laden&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
&lt;br /&gt;
# Service aktivieren (Auto-Start beim Boot)&lt;br /&gt;
sudo systemctl enable llama-server&lt;br /&gt;
&lt;br /&gt;
# Service starten&lt;br /&gt;
sudo systemctl start llama-server&lt;br /&gt;
&lt;br /&gt;
# Status prüfen&lt;br /&gt;
sudo systemctl status llama-server&lt;br /&gt;
&lt;br /&gt;
# Logs anzeigen&lt;br /&gt;
sudo journalctl -u llama-server -f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Service Management:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
# Service stoppen&lt;br /&gt;
sudo systemctl stop llama-server&lt;br /&gt;
&lt;br /&gt;
# Service neustarten&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&lt;br /&gt;
# Service deaktivieren&lt;br /&gt;
sudo systemctl disable llama-server&lt;br /&gt;
&lt;br /&gt;
==== Manuelle Server-Starts ====&lt;br /&gt;
&#039;&#039;&#039;Multi-GPU (ROCm) - Optimal:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
HIP_VISIBLE_DEVICES=0,1 ./llama-server \&lt;br /&gt;
  -m ~/models/model.gguf \&lt;br /&gt;
  --split-mode row \&lt;br /&gt;
  --tensor-split 0.5,0.5 \&lt;br /&gt;
  -ngl 99 \&lt;br /&gt;
  -fa 1 \&lt;br /&gt;
  --host 0.0.0.0 \&lt;br /&gt;
  --port 8080 \&lt;br /&gt;
  -c 32768 \&lt;br /&gt;
  -b 2048 \&lt;br /&gt;
  -ub 2048 \&lt;br /&gt;
  --threads 8 \&lt;br /&gt;
  --parallel 1 \&lt;br /&gt;
  --jinja&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/llama.cpp&lt;br /&gt;
git pull&lt;br /&gt;
cmake --build build --config Release -- -j $(nproc)&lt;br /&gt;
&lt;br /&gt;
# Service neu starten falls aktiv&lt;br /&gt;
sudo systemctl restart llama-server&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Befehlszeilenargumente ===&lt;br /&gt;
llama-server&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
-h,    --help, --usage                  print usage and exit&lt;br /&gt;
--version                               show version and build info&lt;br /&gt;
-cl,   --cache-list                     show list of models in cache&lt;br /&gt;
--completion-bash                       print source-able bash completion script for llama.cpp&lt;br /&gt;
--verbose-prompt                        print a verbose prompt before generation (default: false)&lt;br /&gt;
-t,    --threads N                      number of CPU threads to use during generation (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS)&lt;br /&gt;
-tb,   --threads-batch N                number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads)&lt;br /&gt;
-C,    --cpu-mask M                     CPU affinity mask: arbitrarily long hex. Complements cpu-range&lt;br /&gt;
                                        (default: &amp;quot;&amp;quot;)&lt;br /&gt;
-Cr,   --cpu-range lo-hi                range of CPUs for affinity. Complements --cpu-mask&lt;br /&gt;
--cpu-strict &amp;lt;0|1&amp;gt;                      use strict CPU placement (default: 0)&lt;br /&gt;
--prio N                                set process/thread priority : low(-1), normal(0), medium(1), high(2),&lt;br /&gt;
                                        realtime(3) (default: 0)&lt;br /&gt;
--poll &amp;lt;0...100&amp;gt;                        use polling level to wait for work (0 - no polling, default: 50)&lt;br /&gt;
-Cb,   --cpu-mask-batch M               CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch&lt;br /&gt;
                                        (default: same as --cpu-mask)&lt;br /&gt;
-Crb,  --cpu-range-batch lo-hi          ranges of CPUs for affinity. Complements --cpu-mask-batch&lt;br /&gt;
--cpu-strict-batch &amp;lt;0|1&amp;gt;                use strict CPU placement (default: same as --cpu-strict)&lt;br /&gt;
--prio-batch N                          set process/thread priority : 0-normal, 1-medium, 2-high, 3-realtime&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
--poll-batch &amp;lt;0|1&amp;gt;                      use polling to wait for work (default: same as --poll)&lt;br /&gt;
-c,    --ctx-size N                     size of the prompt context (default: 4096, 0 = loaded from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE)&lt;br /&gt;
-n,    --predict, --n-predict N         number of tokens to predict (default: -1, -1 = infinity)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PREDICT)&lt;br /&gt;
-b,    --batch-size N                   logical maximum batch size (default: 2048)&lt;br /&gt;
                                        (env: LLAMA_ARG_BATCH)&lt;br /&gt;
-ub,   --ubatch-size N                  physical maximum batch size (default: 512)&lt;br /&gt;
                                        (env: LLAMA_ARG_UBATCH)&lt;br /&gt;
--keep N                                number of tokens to keep from the initial prompt (default: 0, -1 =&lt;br /&gt;
                                        all)&lt;br /&gt;
--swa-full                              use full-size SWA cache (default: false)&lt;br /&gt;
                                        [(more&lt;br /&gt;
                                        info)](https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055)&lt;br /&gt;
                                        (env: LLAMA_ARG_SWA_FULL)&lt;br /&gt;
--kv-unified, -kvu                      use single unified KV buffer for the KV cache of all sequences&lt;br /&gt;
                                        (default: false)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/14363)&lt;br /&gt;
                                        (env: LLAMA_ARG_KV_SPLIT)&lt;br /&gt;
-fa,   --flash-attn [on|off|auto]       set Flash Attention use (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        (env: LLAMA_ARG_FLASH_ATTN)&lt;br /&gt;
--no-perf                               disable internal libllama performance timings (default: false)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PERF)&lt;br /&gt;
-e,    --escape                         process escapes sequences (\n, \r, \t, \&#039;, \&amp;quot;, \\) (default: true)&lt;br /&gt;
--no-escape                             do not process escape sequences&lt;br /&gt;
--rope-scaling {none,linear,yarn}       RoPE frequency scaling method, defaults to linear unless specified by&lt;br /&gt;
                                        the model&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALING_TYPE)&lt;br /&gt;
--rope-scale N                          RoPE context scaling factor, expands context by a factor of N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_SCALE)&lt;br /&gt;
--rope-freq-base N                      RoPE base frequency, used by NTK-aware scaling (default: loaded from&lt;br /&gt;
                                        model)&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_BASE)&lt;br /&gt;
--rope-freq-scale N                     RoPE frequency scaling factor, expands context by a factor of 1/N&lt;br /&gt;
                                        (env: LLAMA_ARG_ROPE_FREQ_SCALE)&lt;br /&gt;
--yarn-orig-ctx N                       YaRN: original context size of model (default: 0 = model training&lt;br /&gt;
                                        context size)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ORIG_CTX)&lt;br /&gt;
--yarn-ext-factor N                     YaRN: extrapolation mix factor (default: -1.0, 0.0 = full&lt;br /&gt;
                                        interpolation)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_EXT_FACTOR)&lt;br /&gt;
--yarn-attn-factor N                    YaRN: scale sqrt(t) or attention magnitude (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_ATTN_FACTOR)&lt;br /&gt;
--yarn-beta-slow N                      YaRN: high correction dim or alpha (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_SLOW)&lt;br /&gt;
--yarn-beta-fast N                      YaRN: low correction dim or beta (default: -1.0)&lt;br /&gt;
                                        (env: LLAMA_ARG_YARN_BETA_FAST)&lt;br /&gt;
-nkvo, --no-kv-offload                  disable KV offload&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_KV_OFFLOAD)&lt;br /&gt;
-nr,   --no-repack                      disable weight repacking&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_REPACK)&lt;br /&gt;
--no-host                               bypass host buffer allowing extra buffers to be used&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_HOST)&lt;br /&gt;
-ctk,  --cache-type-k TYPE              KV cache data type for K&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K)&lt;br /&gt;
-ctv,  --cache-type-v TYPE              KV cache data type for V&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V)&lt;br /&gt;
-dt,   --defrag-thold N                 KV cache defragmentation threshold (DEPRECATED)&lt;br /&gt;
                                        (env: LLAMA_ARG_DEFRAG_THOLD)&lt;br /&gt;
-np,   --parallel N                     number of parallel sequences to decode (default: 1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_PARALLEL)&lt;br /&gt;
--mlock                                 force system to keep model in RAM rather than swapping or compressing&lt;br /&gt;
                                        (env: LLAMA_ARG_MLOCK)&lt;br /&gt;
--no-mmap                               do not memory-map model (slower load but may reduce pageouts if not&lt;br /&gt;
                                        using mlock)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMAP)&lt;br /&gt;
--numa TYPE                             attempt optimizations that help on some NUMA systems&lt;br /&gt;
                                        - distribute: spread execution evenly over all nodes&lt;br /&gt;
                                        - isolate: only spawn threads on CPUs on the node that execution&lt;br /&gt;
                                        started on&lt;br /&gt;
                                        - numactl: use the CPU map provided by numactl&lt;br /&gt;
                                        if run without this previously, it is recommended to drop the system&lt;br /&gt;
                                        page cache before using this&lt;br /&gt;
                                        see https://github.com/ggml-org/llama.cpp/issues/1437&lt;br /&gt;
                                        (env: LLAMA_ARG_NUMA)&lt;br /&gt;
-dev,  --device &amp;lt;dev1,dev2,..&amp;gt;          comma-separated list of devices to use for offloading (none = don&#039;t&lt;br /&gt;
                                        offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
                                        (env: LLAMA_ARG_DEVICE)&lt;br /&gt;
--list-devices                          print list of available devices and exit&lt;br /&gt;
--override-tensor, -ot &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type&lt;br /&gt;
--cpu-moe, -cmoe                        keep all Mixture of Experts (MoE) weights in the CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE)&lt;br /&gt;
--n-cpu-moe, -ncmoe N                   keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE)&lt;br /&gt;
-ngl,  --gpu-layers, --n-gpu-layers N   max. number of layers to store in VRAM (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS)&lt;br /&gt;
-sm,   --split-mode {none,layer,row}    how to split the model across multiple GPUs, one of:&lt;br /&gt;
                                        - none: use one GPU only&lt;br /&gt;
                                        - layer (default): split layers and KV across GPUs&lt;br /&gt;
                                        - row: split rows across GPUs&lt;br /&gt;
                                        (env: LLAMA_ARG_SPLIT_MODE)&lt;br /&gt;
-ts,   --tensor-split N0,N1,N2,...      fraction of the model to offload to each GPU, comma-separated list of&lt;br /&gt;
                                        proportions, e.g. 3,1&lt;br /&gt;
                                        (env: LLAMA_ARG_TENSOR_SPLIT)&lt;br /&gt;
-mg,   --main-gpu INDEX                 the GPU to use for the model (with split-mode = none), or for&lt;br /&gt;
                                        intermediate results and KV (with split-mode = row) (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_MAIN_GPU)&lt;br /&gt;
--check-tensors                         check model tensor data for invalid values (default: false)&lt;br /&gt;
--override-kv KEY=TYPE:VALUE            advanced option to override model metadata by key. may be specified&lt;br /&gt;
                                        multiple times.&lt;br /&gt;
                                        types: int, float, bool, str. example: --override-kv&lt;br /&gt;
                                        tokenizer.ggml.add_bos_token=bool:false&lt;br /&gt;
--no-op-offload                         disable offloading host tensor operations to device (default: false)&lt;br /&gt;
--lora FNAME                            path to LoRA adapter (can be repeated to use multiple adapters)&lt;br /&gt;
--lora-scaled FNAME SCALE               path to LoRA adapter with user defined scaling (can be repeated to use&lt;br /&gt;
                                        multiple adapters)&lt;br /&gt;
--control-vector FNAME                  add a control vector&lt;br /&gt;
                                        note: this argument can be repeated to add multiple control vectors&lt;br /&gt;
--control-vector-scaled FNAME SCALE     add a control vector with user defined scaling SCALE&lt;br /&gt;
                                        note: this argument can be repeated to add multiple scaled control&lt;br /&gt;
                                        vectors&lt;br /&gt;
--control-vector-layer-range START END&lt;br /&gt;
                                        layer range to apply the control vector(s) to, start and end inclusive&lt;br /&gt;
-m,    --model FNAME                    model path (default: `models/$filename` with filename from `--hf-file`&lt;br /&gt;
                                        or `--model-url` if set, otherwise models/7B/ggml-model-f16.gguf)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL)&lt;br /&gt;
-mu,   --model-url MODEL_URL            model download url (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_URL)&lt;br /&gt;
-dr,   --docker-repo [&amp;lt;repo&amp;gt;/]&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Docker Hub model repository. repo is optional, default to ai/. quant&lt;br /&gt;
                                        is optional, default to :latest.&lt;br /&gt;
                                        example: gemma3&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_DOCKER_REPO)&lt;br /&gt;
-hf,   -hfr, --hf-repo &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository; quant is optional, case-insensitive,&lt;br /&gt;
                                        default to Q4_K_M, or falls back to the first file in the repo if&lt;br /&gt;
                                        Q4_K_M doesn&#039;t exist.&lt;br /&gt;
                                        mmproj is also downloaded automatically if available. to disable, add&lt;br /&gt;
                                        --no-mmproj&lt;br /&gt;
                                        example: unsloth/phi-4-GGUF:q4_k_m&lt;br /&gt;
                                        (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO)&lt;br /&gt;
-hfd,  -hfrd, --hf-repo-draft &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Same as --hf-repo, but for the draft model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HFD_REPO)&lt;br /&gt;
-hff,  --hf-file FILE                   Hugging Face model file. If specified, it will override the quant in&lt;br /&gt;
                                        --hf-repo (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE)&lt;br /&gt;
-hfv,  -hfrv, --hf-repo-v &amp;lt;user&amp;gt;/&amp;lt;model&amp;gt;[:quant]&lt;br /&gt;
                                        Hugging Face model repository for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_REPO_V)&lt;br /&gt;
-hffv, --hf-file-v FILE                 Hugging Face model file for the vocoder model (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_HF_FILE_V)&lt;br /&gt;
-hft,  --hf-token TOKEN                 Hugging Face access token (default: value from HF_TOKEN environment&lt;br /&gt;
                                        variable)&lt;br /&gt;
                                        (env: HF_TOKEN)&lt;br /&gt;
--log-disable                           Log disable&lt;br /&gt;
--log-file FNAME                        Log to file&lt;br /&gt;
--log-colors [on|off|auto]              Set colored logging (&#039;on&#039;, &#039;off&#039;, or &#039;auto&#039;, default: &#039;auto&#039;)&lt;br /&gt;
                                        &#039;auto&#039; enables colors when output is to a terminal&lt;br /&gt;
                                        (env: LLAMA_LOG_COLORS)&lt;br /&gt;
-v,    --verbose, --log-verbose         Set verbosity level to infinity (i.e. log all messages, useful for&lt;br /&gt;
                                        debugging)&lt;br /&gt;
--offline                               Offline mode: forces use of cache, prevents network access&lt;br /&gt;
                                        (env: LLAMA_OFFLINE)&lt;br /&gt;
-lv,   --verbosity, --log-verbosity N   Set the verbosity threshold. Messages with a higher verbosity will be&lt;br /&gt;
                                        ignored.&lt;br /&gt;
                                        (env: LLAMA_LOG_VERBOSITY)&lt;br /&gt;
--log-prefix                            Enable prefix in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_PREFIX)&lt;br /&gt;
--log-timestamps                        Enable timestamps in log messages&lt;br /&gt;
                                        (env: LLAMA_LOG_TIMESTAMPS)&lt;br /&gt;
-ctkd, --cache-type-k-draft TYPE        KV cache data type for K for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_K_DRAFT)&lt;br /&gt;
-ctvd, --cache-type-v-draft TYPE        KV cache data type for V for the draft model&lt;br /&gt;
                                        allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1&lt;br /&gt;
                                        (default: f16)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_TYPE_V_DRAFT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- sampling params -----&lt;br /&gt;
&lt;br /&gt;
--samplers SAMPLERS                     samplers that will be used for generation in the order, separated by&lt;br /&gt;
                                        &#039;;&#039;&lt;br /&gt;
                                        (default:&lt;br /&gt;
                                        penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature)&lt;br /&gt;
-s,    --seed SEED                      RNG seed (default: -1, use random seed for -1)&lt;br /&gt;
--sampling-seq, --sampler-seq SEQUENCE&lt;br /&gt;
                                        simplified sequence for samplers that will be used (default:&lt;br /&gt;
                                        edskypmxt)&lt;br /&gt;
--ignore-eos                            ignore end of stream token and continue generating (implies&lt;br /&gt;
                                        --logit-bias EOS-inf)&lt;br /&gt;
--temp N                                temperature (default: 0.8)&lt;br /&gt;
--top-k N                               top-k sampling (default: 40, 0 = disabled)&lt;br /&gt;
--top-p N                               top-p sampling (default: 0.9, 1.0 = disabled)&lt;br /&gt;
--min-p N                               min-p sampling (default: 0.1, 0.0 = disabled)&lt;br /&gt;
--top-nsigma N                          top-n-sigma sampling (default: -1.0, -1.0 = disabled)&lt;br /&gt;
--xtc-probability N                     xtc probability (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--xtc-threshold N                       xtc threshold (default: 0.1, 1.0 = disabled)&lt;br /&gt;
--typical N                             locally typical sampling, parameter p (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--repeat-last-n N                       last n tokens to consider for penalize (default: 64, 0 = disabled, -1&lt;br /&gt;
                                        = ctx_size)&lt;br /&gt;
--repeat-penalty N                      penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled)&lt;br /&gt;
--presence-penalty N                    repeat alpha presence penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--frequency-penalty N                   repeat alpha frequency penalty (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-multiplier N                      set DRY sampling multiplier (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dry-base N                            set DRY sampling base value (default: 1.75)&lt;br /&gt;
--dry-allowed-length N                  set allowed length for DRY sampling (default: 2)&lt;br /&gt;
--dry-penalty-last-n N                  set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 =&lt;br /&gt;
                                        context size)&lt;br /&gt;
--dry-sequence-breaker STRING           add sequence breaker for DRY sampling, clearing out default breakers&lt;br /&gt;
                                        (&#039;\n&#039;, &#039;:&#039;, &#039;&amp;quot;&#039;, &#039;*&#039;) in the process; use &amp;quot;none&amp;quot; to not use any&lt;br /&gt;
                                        sequence breakers&lt;br /&gt;
--dynatemp-range N                      dynamic temperature range (default: 0.0, 0.0 = disabled)&lt;br /&gt;
--dynatemp-exp N                        dynamic temperature exponent (default: 1.0)&lt;br /&gt;
--mirostat N                            use Mirostat sampling.&lt;br /&gt;
                                        Top K, Nucleus and Locally Typical samplers are ignored if used.&lt;br /&gt;
                                        (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)&lt;br /&gt;
--mirostat-lr N                         Mirostat learning rate, parameter eta (default: 0.1)&lt;br /&gt;
--mirostat-ent N                        Mirostat target entropy, parameter tau (default: 5.0)&lt;br /&gt;
-l,    --logit-bias TOKEN_ID(+/-)BIAS   modifies the likelihood of token appearing in the completion,&lt;br /&gt;
                                        i.e. `--logit-bias 15043+1` to increase likelihood of token &#039; Hello&#039;,&lt;br /&gt;
                                        or `--logit-bias 15043-1` to decrease likelihood of token &#039; Hello&#039;&lt;br /&gt;
--grammar GRAMMAR                       BNF-like grammar to constrain generations (see samples in grammars/&lt;br /&gt;
                                        dir) (default: &#039;&#039;)&lt;br /&gt;
--grammar-file FNAME                    file to read grammar from&lt;br /&gt;
-j,    --json-schema SCHEMA             JSON schema to constrain generations (https://json-schema.org/), e.g.&lt;br /&gt;
                                        `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
-jf,   --json-schema-file FILE          File containing a JSON schema to constrain generations&lt;br /&gt;
                                        (https://json-schema.org/), e.g. `{}` for any JSON object&lt;br /&gt;
                                        For schemas w/ external $refs, use --grammar +&lt;br /&gt;
                                        example/json_schema_to_grammar.py instead&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----- example-specific params -----&lt;br /&gt;
&lt;br /&gt;
--ctx-checkpoints, --swa-checkpoints N&lt;br /&gt;
                                        max number of context checkpoints to create per slot (default: 8)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/15293)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_CHECKPOINTS)&lt;br /&gt;
--cache-ram, -cram N                    set the maximum cache size in MiB (default: 8192, -1 - no limit, 0 -&lt;br /&gt;
                                        disable)&lt;br /&gt;
                                        [(more info)](https://github.com/ggml-org/llama.cpp/pull/16391)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_RAM)&lt;br /&gt;
--no-context-shift                      disables context shift on infinite text generation (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONTEXT_SHIFT)&lt;br /&gt;
--context-shift                         enables context shift on infinite text generation (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONTEXT_SHIFT)&lt;br /&gt;
-r,    --reverse-prompt PROMPT          halt generation at PROMPT, return control in interactive mode&lt;br /&gt;
-sp,   --special                        special tokens output enabled (default: false)&lt;br /&gt;
--no-warmup                             skip warming up the model with an empty run&lt;br /&gt;
--spm-infill                            use Suffix/Prefix/Middle pattern for infill (instead of&lt;br /&gt;
                                        Prefix/Suffix/Middle) as some models prefer this. (default: disabled)&lt;br /&gt;
--pooling {none,mean,cls,last,rank}     pooling type for embeddings, use model default if unspecified&lt;br /&gt;
                                        (env: LLAMA_ARG_POOLING)&lt;br /&gt;
-cb,   --cont-batching                  enable continuous batching (a.k.a dynamic batching) (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_CONT_BATCHING)&lt;br /&gt;
-nocb, --no-cont-batching               disable continuous batching&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_CONT_BATCHING)&lt;br /&gt;
--mmproj FILE                           path to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        note: if -hf is used, this argument can be omitted&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ)&lt;br /&gt;
--mmproj-url URL                        URL to a multimodal projector file. see tools/mtmd/README.md&lt;br /&gt;
                                        (env: LLAMA_ARG_MMPROJ_URL)&lt;br /&gt;
--no-mmproj                             explicitly disable multimodal projector, useful when using -hf&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ)&lt;br /&gt;
--no-mmproj-offload                     do not offload multimodal projector to GPU&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_MMPROJ_OFFLOAD)&lt;br /&gt;
--image-min-tokens N                    minimum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MIN_TOKENS)&lt;br /&gt;
--image-max-tokens N                    maximum number of tokens each image can take, only used by vision&lt;br /&gt;
                                        models with dynamic resolution (default: read from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_IMAGE_MAX_TOKENS)&lt;br /&gt;
--override-tensor-draft, -otd &amp;lt;tensor name pattern&amp;gt;=&amp;lt;buffer type&amp;gt;,...&lt;br /&gt;
                                        override tensor buffer type for draft model&lt;br /&gt;
--cpu-moe-draft, -cmoed                 keep all Mixture of Experts (MoE) weights in the CPU for the draft&lt;br /&gt;
                                        model&lt;br /&gt;
                                        (env: LLAMA_ARG_CPU_MOE_DRAFT)&lt;br /&gt;
--n-cpu-moe-draft, -ncmoed N            keep the Mixture of Experts (MoE) weights of the first N layers in the&lt;br /&gt;
                                        CPU for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_CPU_MOE_DRAFT)&lt;br /&gt;
-a,    --alias STRING                   set alias for model name (to be used by REST API)&lt;br /&gt;
                                        (env: LLAMA_ARG_ALIAS)&lt;br /&gt;
--host HOST                             ip address to listen, or bind to an UNIX socket if the address ends&lt;br /&gt;
                                        with .sock (default: 127.0.0.1)&lt;br /&gt;
                                        (env: LLAMA_ARG_HOST)&lt;br /&gt;
--port PORT                             port to listen (default: 8080)&lt;br /&gt;
                                        (env: LLAMA_ARG_PORT)&lt;br /&gt;
--path PATH                             path to serve static files from (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_STATIC_PATH)&lt;br /&gt;
--api-prefix PREFIX                     prefix path the server serves from, without the trailing slash&lt;br /&gt;
                                        (default: )&lt;br /&gt;
                                        (env: LLAMA_ARG_API_PREFIX)&lt;br /&gt;
--no-webui                              Disable the Web UI (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_WEBUI)&lt;br /&gt;
--embedding, --embeddings               restrict to only support embedding use case; use only with dedicated&lt;br /&gt;
                                        embedding models (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_EMBEDDINGS)&lt;br /&gt;
--reranking, --rerank                   enable reranking endpoint on server (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_RERANKING)&lt;br /&gt;
--api-key KEY                           API key to use for authentication (default: none)&lt;br /&gt;
                                        (env: LLAMA_API_KEY)&lt;br /&gt;
--api-key-file FNAME                    path to file containing API keys (default: none)&lt;br /&gt;
--ssl-key-file FNAME                    path to file a PEM-encoded SSL private key&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_KEY_FILE)&lt;br /&gt;
--ssl-cert-file FNAME                   path to file a PEM-encoded SSL certificate&lt;br /&gt;
                                        (env: LLAMA_ARG_SSL_CERT_FILE)&lt;br /&gt;
--chat-template-kwargs STRING           sets additional params for the json template parser&lt;br /&gt;
                                        (env: LLAMA_CHAT_TEMPLATE_KWARGS)&lt;br /&gt;
-to,   --timeout N                      server read/write timeout in seconds (default: 600)&lt;br /&gt;
                                        (env: LLAMA_ARG_TIMEOUT)&lt;br /&gt;
--threads-http N                        number of threads used to process HTTP requests (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THREADS_HTTP)&lt;br /&gt;
--cache-reuse N                         min chunk size to attempt reusing from the cache via KV shifting&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        [(card)](https://ggml.ai/f0.png)&lt;br /&gt;
                                        (env: LLAMA_ARG_CACHE_REUSE)&lt;br /&gt;
--metrics                               enable prometheus compatible metrics endpoint (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_METRICS)&lt;br /&gt;
--props                                 enable changing global properties via POST /props (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_PROPS)&lt;br /&gt;
--slots                                 enable slots monitoring endpoint (default: enabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_ENDPOINT_SLOTS)&lt;br /&gt;
--no-slots                              disables slots monitoring endpoint&lt;br /&gt;
                                        (env: LLAMA_ARG_NO_ENDPOINT_SLOTS)&lt;br /&gt;
--slot-save-path PATH                   path to save slot kv cache (default: disabled)&lt;br /&gt;
--jinja                                 use jinja template for chat (default: disabled)&lt;br /&gt;
                                        (env: LLAMA_ARG_JINJA)&lt;br /&gt;
--reasoning-format FORMAT               controls whether thought tags are allowed and/or extracted from the&lt;br /&gt;
                                        response, and in which format they&#039;re returned; one of:&lt;br /&gt;
                                        - none: leaves thoughts unparsed in `message.content`&lt;br /&gt;
                                        - deepseek: puts thoughts in `message.reasoning_content`&lt;br /&gt;
                                        - deepseek-legacy: keeps `&amp;lt;think&amp;gt;` tags in `message.content` while&lt;br /&gt;
                                        also populating `message.reasoning_content`&lt;br /&gt;
                                        (default: auto)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK)&lt;br /&gt;
--reasoning-budget N                    controls the amount of thinking allowed; currently only one of: -1 for&lt;br /&gt;
                                        unrestricted thinking budget, or 0 to disable thinking (default: -1)&lt;br /&gt;
                                        (env: LLAMA_ARG_THINK_BUDGET)&lt;br /&gt;
--chat-template JINJA_TEMPLATE          set custom jinja chat template (default: template taken from model&#039;s&lt;br /&gt;
                                        metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE)&lt;br /&gt;
--chat-template-file JINJA_TEMPLATE_FILE&lt;br /&gt;
                                        set custom jinja chat template file (default: template taken from&lt;br /&gt;
                                        model&#039;s metadata)&lt;br /&gt;
                                        if suffix/prefix are specified, template will be disabled&lt;br /&gt;
                                        only commonly used templates are accepted (unless --jinja is set&lt;br /&gt;
                                        before this flag):&lt;br /&gt;
                                        list of built-in templates:&lt;br /&gt;
                                        bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml,&lt;br /&gt;
                                        command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3,&lt;br /&gt;
                                        gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense,&lt;br /&gt;
                                        hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos,&lt;br /&gt;
                                        llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1,&lt;br /&gt;
                                        mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch,&lt;br /&gt;
                                        openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss,&lt;br /&gt;
                                        smolvlm, vicuna, vicuna-orca, yandex, zephyr&lt;br /&gt;
                                        (env: LLAMA_ARG_CHAT_TEMPLATE_FILE)&lt;br /&gt;
--no-prefill-assistant                  whether to prefill the assistant&#039;s response if the last message is an&lt;br /&gt;
                                        assistant message (default: prefill enabled)&lt;br /&gt;
                                        when this flag is set, if the last message is an assistant message&lt;br /&gt;
                                        then it will be treated as a full message and not prefilled&lt;br /&gt;
                                        &lt;br /&gt;
                                        (env: LLAMA_ARG_NO_PREFILL_ASSISTANT)&lt;br /&gt;
-sps,  --slot-prompt-similarity SIMILARITY&lt;br /&gt;
                                        how much the prompt of a request must match the prompt of a slot in&lt;br /&gt;
                                        order to use that slot (default: 0.10, 0.0 = disabled)&lt;br /&gt;
--lora-init-without-apply               load LoRA adapters without applying them (apply later via POST&lt;br /&gt;
                                        /lora-adapters) (default: disabled)&lt;br /&gt;
-td,   --threads-draft N                number of threads to use during generation (default: same as&lt;br /&gt;
                                        --threads)&lt;br /&gt;
-tbd,  --threads-batch-draft N          number of threads to use during batch and prompt processing (default:&lt;br /&gt;
                                        same as --threads-draft)&lt;br /&gt;
--draft-max, --draft, --draft-n N       number of tokens to draft for speculative decoding (default: 16)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MAX)&lt;br /&gt;
--draft-min, --draft-n-min N            minimum number of draft tokens to use for speculative decoding&lt;br /&gt;
                                        (default: 0)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_MIN)&lt;br /&gt;
--draft-p-min P                         minimum speculative decoding probability (greedy) (default: 0.8)&lt;br /&gt;
                                        (env: LLAMA_ARG_DRAFT_P_MIN)&lt;br /&gt;
-cd,   --ctx-size-draft N               size of the prompt context for the draft model (default: 0, 0 = loaded&lt;br /&gt;
                                        from model)&lt;br /&gt;
                                        (env: LLAMA_ARG_CTX_SIZE_DRAFT)&lt;br /&gt;
-devd, --device-draft &amp;lt;dev1,dev2,..&amp;gt;    comma-separated list of devices to use for offloading the draft model&lt;br /&gt;
                                        (none = don&#039;t offload)&lt;br /&gt;
                                        use --list-devices to see a list of available devices&lt;br /&gt;
-ngld, --gpu-layers-draft, --n-gpu-layers-draft N&lt;br /&gt;
                                        number of layers to store in VRAM for the draft model&lt;br /&gt;
                                        (env: LLAMA_ARG_N_GPU_LAYERS_DRAFT)&lt;br /&gt;
-md,   --model-draft FNAME              draft model for speculative decoding (default: unused)&lt;br /&gt;
                                        (env: LLAMA_ARG_MODEL_DRAFT)&lt;br /&gt;
--spec-replace TARGET DRAFT             translate the string in TARGET into DRAFT if the draft model and main&lt;br /&gt;
                                        model are not compatible&lt;br /&gt;
-mv,   --model-vocoder FNAME            vocoder model for audio generation (default: unused)&lt;br /&gt;
--tts-use-guide-tokens                  Use guide tokens to improve TTS word recall&lt;br /&gt;
--embd-gemma-default                    use default EmbeddingGemma model (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-1.5b-default                 use default Qwen 2.5 Coder 1.5B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-3b-default                   use default Qwen 2.5 Coder 3B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-default                   use default Qwen 2.5 Coder 7B (note: can download weights from the&lt;br /&gt;
                                        internet)&lt;br /&gt;
--fim-qwen-7b-spec                      use Qwen 2.5 Coder 7B + 0.5B draft for speculative decoding (note: can&lt;br /&gt;
                                        download weights from the internet)&lt;br /&gt;
--fim-qwen-14b-spec                     use Qwen 2.5 Coder 14B + 0.5B draft for speculative decoding (note:&lt;br /&gt;
                                        can download weights from the internet)&lt;br /&gt;
--fim-qwen-30b-default                  use default Qwen 3 Coder 30B A3B Instruct (note: can download weights&lt;br /&gt;
                                        from the internet)&lt;br /&gt;
--gpt-oss-20b-default                   use gpt-oss-20b (note: can download weights from the internet)&lt;br /&gt;
--gpt-oss-120b-default                  use gpt-oss-120b (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-4b-default               use Gemma 3 4B QAT (note: can download weights from the internet)&lt;br /&gt;
--vision-gemma-12b-default              use Gemma 3 12B QAT (note: can download weights from the internet)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
Error 1 [ 34%] Linking HIP shared library ../../../bin/libggml-hip.so [ 34%] Built target ggml-hip gmake[1]: *** [CMakeFiles/Makefile2:1775: ggml/src/CMakeFiles/ggml-cpu.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Lösung:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
GCC 13.3.0 konnte damit nicht umgehen, aber GCC 14.2.0 hat bessere C++-Standard-Compliance und kann diesen Header-Konflikt korrekt auflösen – deshalb funktioniert die Kompilierung jetzt mit der neueren Compiler-Version.&lt;br /&gt;
sudo update-alternatives --remove gcc /usr/bin/gcc-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 50&lt;br /&gt;
sudo update-alternatives --config gcc&lt;br /&gt;
# Wähle gcc-14&lt;br /&gt;
&lt;br /&gt;
sudo update-alternatives --remove g++ /usr/bin/g++-13&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100&lt;br /&gt;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 50&lt;br /&gt;
sudo update-alternatives --config g++&lt;br /&gt;
# Wähle g++-14&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Oracle&amp;diff=500</id>
		<title>Oracle</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Oracle&amp;diff=500"/>
		<updated>2026-01-06T09:48:34Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* SAP* kopieren (000 nach 200) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
==== SAP* löschen ====&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
DELETE FROM SAPSR3.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;SAP*&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== SAP* kopieren (000 nach 200) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oracle11&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
INSERT INTO SAPSR3.USR02 (&lt;br /&gt;
    MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, &lt;br /&gt;
    CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, &lt;br /&gt;
    TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, &lt;br /&gt;
    BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, &lt;br /&gt;
    BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, &lt;br /&gt;
    CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, &lt;br /&gt;
    RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, &lt;br /&gt;
    PWDSALTEDHASH, SECURITY_POLICY&lt;br /&gt;
)&lt;br /&gt;
SELECT &lt;br /&gt;
    &#039;200&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, &lt;br /&gt;
    CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, &lt;br /&gt;
    TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, &lt;br /&gt;
    BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, &lt;br /&gt;
    BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, &lt;br /&gt;
    CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, &lt;br /&gt;
    RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, &lt;br /&gt;
    PWDSALTEDHASH, SECURITY_POLICY&lt;br /&gt;
FROM SAPSR3.USR02 &lt;br /&gt;
WHERE MANDT = &#039;000&#039; AND BNAME = &#039;SAP*&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tablespaces und Files anzeigen lassen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SELECT file_name, bytes/1024/1024 AS size_mb FROM dba_data_files WHERE tablespace_name = &#039;PSAPSR3&#039; ORDER BY file_name;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Tablespace anlegen====&lt;br /&gt;
CREATE TABLESPACE PSAPSR3740X DATAFILE &#039;/oracle/PZ0/sapdata1/sr3740x_1&#039; SIZE 10M;&lt;br /&gt;
&lt;br /&gt;
= Erweiterung ohne ASM =&lt;br /&gt;
&lt;br /&gt;
== Tablespace-Belegung ermitteln ==&lt;br /&gt;
&lt;br /&gt;
Belegung aller Tablespaces in Prozent ermitteln:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
with MBYTES as(&lt;br /&gt;
  select tablespace_name, &lt;br /&gt;
         SUM(bytes)/1024/1024 as Akt, &lt;br /&gt;
         SUM(decode(maxbytes,0,bytes,maxbytes))/1024/1024 as ZMax &lt;br /&gt;
  from dba_data_files &lt;br /&gt;
  group by tablespace_name&lt;br /&gt;
), &lt;br /&gt;
MFREE as(&lt;br /&gt;
  select tablespace_name, &lt;br /&gt;
         SUM(bytes)/1024/1024 as Free    &lt;br /&gt;
  from dba_free_space &lt;br /&gt;
  group by tablespace_name&lt;br /&gt;
) &lt;br /&gt;
select MBYTES.tablespace_name, &lt;br /&gt;
       ROUND((AKT-FREE)/ZMAX*100,2) as BelegtProz  &lt;br /&gt;
from MBYTES, MFREE &lt;br /&gt;
where MFREE.tablespace_name = MBYTES.tablespace_name &lt;br /&gt;
order by ROUND((AKT-FREE)/ZMAX*100,2) desc;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ergebnis:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TABLESPACE_NAME                BELEGTPROZ&lt;br /&gt;
------------------------------ ----------&lt;br /&gt;
PSAPSR3                             89.43&lt;br /&gt;
PSAPSR3702                          33.32&lt;br /&gt;
PSAPSR3USR                          20.26&lt;br /&gt;
PSAPUNDO                             6.55&lt;br /&gt;
SYSTEM                               5.05&lt;br /&gt;
SYSAUX                               4.05&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verfügbaren Speicherplatz ermitteln ==&lt;br /&gt;
&lt;br /&gt;
Im Betriebssystem ermitteln, in welchem data-Laufwerk am meisten Platz für die Erweiterung vorhanden ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h | grep oracle&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ausgabe:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p11data01/data01      98G    68G    30G    70%    /oracle/P11/data01&lt;br /&gt;
p11data02/data02     215G   172G    43G    81%    /oracle/P11/data02&lt;br /&gt;
p11data03/data03      98G    51G    47G    52%    /oracle/P11/data03&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== An der Datenbank anmelden ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausgabe formatieren ===&lt;br /&gt;
&lt;br /&gt;
Für eine übersichtlichere Darstellung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
set pages 9999&lt;br /&gt;
set lin 180&lt;br /&gt;
col file_name for a60&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datafiles anzeigen ==&lt;br /&gt;
&lt;br /&gt;
Datafiles zum Tablespace anzeigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Name des Tablespaces ist in der E-Mail von Icinga zu finden.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ausgabe:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                20480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datafile erweitern ==&lt;br /&gt;
&lt;br /&gt;
=== Existierendes Datafile vergrößern ===&lt;br /&gt;
&lt;br /&gt;
Wenn ein Datafile erweitert werden kann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter database datafile &#039;/oracle/P11/data02/beispiel_04.dbf&#039; resize 30G;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Prozess dauert ca. 1 GB pro Minute.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überwachung auf OS-Ebene:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
du -h &amp;lt;FILENAME&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel nach Erweiterung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                30720&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neues Datafile anlegen ===&lt;br /&gt;
&lt;br /&gt;
Falls kein existierendes Datafile erweitert werden kann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter tablespace BEISPIEL add datafile &#039;/oracle/P11/data03/beispiel.dbf&#039; size 100M;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Prozess dauert ca. 1 GB pro Minute.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überwachung auf OS-Ebene:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
du -h &amp;lt;FILENAME&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel nach Anlegen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_05.dbf                                  100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tempfile erweitern ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tempfiles anzeigen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_temp_files;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tempfile hinzufügen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter tablespace &amp;lt;TABLESPACE&amp;gt; add tempfile &#039;+DATA&#039; size 25G;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Tablespace mit neuer Datei erweitern====&lt;br /&gt;
alter tablespace PSAPSR3740X add datafile &#039;/oracle/PZ0/sapdata1/sr3740x_2&#039; size 30G;&lt;br /&gt;
====Backupmodus einstellen====&lt;br /&gt;
Wird benötigt um ggf. die sapdata online kopieren zu können&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; ALTER DATABASE BEGIN BACKUP;&lt;br /&gt;
To find if database or any tablespace is in backup mode, the status in V$BACKUP is ACTIVE&lt;br /&gt;
SQL&amp;gt; select * from v$backup;&lt;br /&gt;
SQL&amp;gt; ALTER DATABASE END BACKUP;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== SYSTEM Passwort ändern ====&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
ALTER USER system IDENTIFIED BY &amp;quot;&amp;lt;PASSWORT&amp;gt;&amp;quot;;&lt;br /&gt;
=== PSAPUNDO - Undo Tablespace ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SELECT file_name,&lt;br /&gt;
       tablespace_name,&lt;br /&gt;
       autoextensible,&lt;br /&gt;
       bytes/1024/1024 AS size_mb,&lt;br /&gt;
       maxbytes/1024/1024 AS max_size_mb&lt;br /&gt;
FROM dba_data_files&lt;br /&gt;
WHERE tablespace_name = &#039;PSAPUNDO&#039;;&lt;br /&gt;
&lt;br /&gt;
ALTER DATABASE DATAFILE &#039;/oracle/R08/sapdata1/undo_1/undo.data1&#039; AUTOEXTEND ON NEXT 100M MAXSIZE 20G;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
==== Freien Speicherplatz anzeigen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
select a.tablespace_name, a.free_bytes*100/b.total_bytes as &amp;quot;Free(%)&amp;quot;&lt;br /&gt;
from&lt;br /&gt;
(select tablespace_name, sum(bytes) free_bytes&lt;br /&gt;
from dba_free_space&lt;br /&gt;
group by tablespace_name) a,&lt;br /&gt;
(select tablespace_name, sum(bytes) total_bytes&lt;br /&gt;
from dba_data_files&lt;br /&gt;
group by tablespace_name) b&lt;br /&gt;
where a.tablespace_name=b.tablespace_name;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Oracle&amp;diff=499</id>
		<title>Oracle</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Oracle&amp;diff=499"/>
		<updated>2026-01-06T09:48:13Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* SAP* kopieren (000 nach 200) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
==== SAP* löschen ====&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
DELETE FROM SAPSR3.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;SAP*&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== SAP* kopieren (000 nach 200) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;oracle11&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
INSERT INTO SAPSR3.USR02 (&lt;br /&gt;
    MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, &lt;br /&gt;
    CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, &lt;br /&gt;
    TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, &lt;br /&gt;
    BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, &lt;br /&gt;
    BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, &lt;br /&gt;
    CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, &lt;br /&gt;
    RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, &lt;br /&gt;
    PWDSALTEDHASH, SECURITY_POLICY&lt;br /&gt;
)&lt;br /&gt;
SELECT &lt;br /&gt;
    &#039;200&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, &lt;br /&gt;
    CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, &lt;br /&gt;
    TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, &lt;br /&gt;
    BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, &lt;br /&gt;
    BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, &lt;br /&gt;
    CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, &lt;br /&gt;
    RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, &lt;br /&gt;
    PWDSALTEDHASH, SECURITY_POLICY&lt;br /&gt;
FROM SAPSR3.USR02 &lt;br /&gt;
WHERE MANDT = &#039;000&#039; AND BNAME = &#039;SAP*&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&lt;br /&gt;
==== Tablespaces und Files anzeigen lassen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SELECT file_name, bytes/1024/1024 AS size_mb FROM dba_data_files WHERE tablespace_name = &#039;PSAPSR3&#039; ORDER BY file_name;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Tablespace anlegen====&lt;br /&gt;
CREATE TABLESPACE PSAPSR3740X DATAFILE &#039;/oracle/PZ0/sapdata1/sr3740x_1&#039; SIZE 10M;&lt;br /&gt;
&lt;br /&gt;
= Erweiterung ohne ASM =&lt;br /&gt;
&lt;br /&gt;
== Tablespace-Belegung ermitteln ==&lt;br /&gt;
&lt;br /&gt;
Belegung aller Tablespaces in Prozent ermitteln:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
with MBYTES as(&lt;br /&gt;
  select tablespace_name, &lt;br /&gt;
         SUM(bytes)/1024/1024 as Akt, &lt;br /&gt;
         SUM(decode(maxbytes,0,bytes,maxbytes))/1024/1024 as ZMax &lt;br /&gt;
  from dba_data_files &lt;br /&gt;
  group by tablespace_name&lt;br /&gt;
), &lt;br /&gt;
MFREE as(&lt;br /&gt;
  select tablespace_name, &lt;br /&gt;
         SUM(bytes)/1024/1024 as Free    &lt;br /&gt;
  from dba_free_space &lt;br /&gt;
  group by tablespace_name&lt;br /&gt;
) &lt;br /&gt;
select MBYTES.tablespace_name, &lt;br /&gt;
       ROUND((AKT-FREE)/ZMAX*100,2) as BelegtProz  &lt;br /&gt;
from MBYTES, MFREE &lt;br /&gt;
where MFREE.tablespace_name = MBYTES.tablespace_name &lt;br /&gt;
order by ROUND((AKT-FREE)/ZMAX*100,2) desc;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ergebnis:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TABLESPACE_NAME                BELEGTPROZ&lt;br /&gt;
------------------------------ ----------&lt;br /&gt;
PSAPSR3                             89.43&lt;br /&gt;
PSAPSR3702                          33.32&lt;br /&gt;
PSAPSR3USR                          20.26&lt;br /&gt;
PSAPUNDO                             6.55&lt;br /&gt;
SYSTEM                               5.05&lt;br /&gt;
SYSAUX                               4.05&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verfügbaren Speicherplatz ermitteln ==&lt;br /&gt;
&lt;br /&gt;
Im Betriebssystem ermitteln, in welchem data-Laufwerk am meisten Platz für die Erweiterung vorhanden ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h | grep oracle&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ausgabe:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p11data01/data01      98G    68G    30G    70%    /oracle/P11/data01&lt;br /&gt;
p11data02/data02     215G   172G    43G    81%    /oracle/P11/data02&lt;br /&gt;
p11data03/data03      98G    51G    47G    52%    /oracle/P11/data03&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== An der Datenbank anmelden ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausgabe formatieren ===&lt;br /&gt;
&lt;br /&gt;
Für eine übersichtlichere Darstellung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
set pages 9999&lt;br /&gt;
set lin 180&lt;br /&gt;
col file_name for a60&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datafiles anzeigen ==&lt;br /&gt;
&lt;br /&gt;
Datafiles zum Tablespace anzeigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Name des Tablespaces ist in der E-Mail von Icinga zu finden.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ausgabe:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                20480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datafile erweitern ==&lt;br /&gt;
&lt;br /&gt;
=== Existierendes Datafile vergrößern ===&lt;br /&gt;
&lt;br /&gt;
Wenn ein Datafile erweitert werden kann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter database datafile &#039;/oracle/P11/data02/beispiel_04.dbf&#039; resize 30G;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Prozess dauert ca. 1 GB pro Minute.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überwachung auf OS-Ebene:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
du -h &amp;lt;FILENAME&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel nach Erweiterung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                30720&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neues Datafile anlegen ===&lt;br /&gt;
&lt;br /&gt;
Falls kein existierendes Datafile erweitert werden kann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter tablespace BEISPIEL add datafile &#039;/oracle/P11/data03/beispiel.dbf&#039; size 100M;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Prozess dauert ca. 1 GB pro Minute.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überwachung auf OS-Ebene:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
du -h &amp;lt;FILENAME&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel nach Anlegen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_05.dbf                                  100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tempfile erweitern ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tempfiles anzeigen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_temp_files;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tempfile hinzufügen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter tablespace &amp;lt;TABLESPACE&amp;gt; add tempfile &#039;+DATA&#039; size 25G;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Tablespace mit neuer Datei erweitern====&lt;br /&gt;
alter tablespace PSAPSR3740X add datafile &#039;/oracle/PZ0/sapdata1/sr3740x_2&#039; size 30G;&lt;br /&gt;
====Backupmodus einstellen====&lt;br /&gt;
Wird benötigt um ggf. die sapdata online kopieren zu können&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; ALTER DATABASE BEGIN BACKUP;&lt;br /&gt;
To find if database or any tablespace is in backup mode, the status in V$BACKUP is ACTIVE&lt;br /&gt;
SQL&amp;gt; select * from v$backup;&lt;br /&gt;
SQL&amp;gt; ALTER DATABASE END BACKUP;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== SYSTEM Passwort ändern ====&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
ALTER USER system IDENTIFIED BY &amp;quot;&amp;lt;PASSWORT&amp;gt;&amp;quot;;&lt;br /&gt;
=== PSAPUNDO - Undo Tablespace ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SELECT file_name,&lt;br /&gt;
       tablespace_name,&lt;br /&gt;
       autoextensible,&lt;br /&gt;
       bytes/1024/1024 AS size_mb,&lt;br /&gt;
       maxbytes/1024/1024 AS max_size_mb&lt;br /&gt;
FROM dba_data_files&lt;br /&gt;
WHERE tablespace_name = &#039;PSAPUNDO&#039;;&lt;br /&gt;
&lt;br /&gt;
ALTER DATABASE DATAFILE &#039;/oracle/R08/sapdata1/undo_1/undo.data1&#039; AUTOEXTEND ON NEXT 100M MAXSIZE 20G;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
==== Freien Speicherplatz anzeigen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
select a.tablespace_name, a.free_bytes*100/b.total_bytes as &amp;quot;Free(%)&amp;quot;&lt;br /&gt;
from&lt;br /&gt;
(select tablespace_name, sum(bytes) free_bytes&lt;br /&gt;
from dba_free_space&lt;br /&gt;
group by tablespace_name) a,&lt;br /&gt;
(select tablespace_name, sum(bytes) total_bytes&lt;br /&gt;
from dba_data_files&lt;br /&gt;
group by tablespace_name) b&lt;br /&gt;
where a.tablespace_name=b.tablespace_name;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Oracle&amp;diff=498</id>
		<title>Oracle</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Oracle&amp;diff=498"/>
		<updated>2026-01-06T09:47:47Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* SAP* löschen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
==== SAP* löschen ====&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
DELETE FROM SAPSR3.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;SAP*&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== SAP* kopieren (000 nach 200) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
INSERT INTO SAPSR3.USR02 (&lt;br /&gt;
    MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, &lt;br /&gt;
    CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, &lt;br /&gt;
    TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, &lt;br /&gt;
    BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, &lt;br /&gt;
    BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, &lt;br /&gt;
    CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, &lt;br /&gt;
    RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, &lt;br /&gt;
    PWDSALTEDHASH, SECURITY_POLICY&lt;br /&gt;
)&lt;br /&gt;
SELECT &lt;br /&gt;
    &#039;200&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, &lt;br /&gt;
    CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, &lt;br /&gt;
    TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, &lt;br /&gt;
    BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, &lt;br /&gt;
    BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, &lt;br /&gt;
    CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, &lt;br /&gt;
    RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, &lt;br /&gt;
    PWDSALTEDHASH, SECURITY_POLICY&lt;br /&gt;
FROM SAPSR3.USR02 &lt;br /&gt;
WHERE MANDT = &#039;000&#039; AND BNAME = &#039;SAP*&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&lt;br /&gt;
==== Tablespaces und Files anzeigen lassen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SELECT file_name, bytes/1024/1024 AS size_mb FROM dba_data_files WHERE tablespace_name = &#039;PSAPSR3&#039; ORDER BY file_name;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Tablespace anlegen====&lt;br /&gt;
CREATE TABLESPACE PSAPSR3740X DATAFILE &#039;/oracle/PZ0/sapdata1/sr3740x_1&#039; SIZE 10M;&lt;br /&gt;
&lt;br /&gt;
= Erweiterung ohne ASM =&lt;br /&gt;
&lt;br /&gt;
== Tablespace-Belegung ermitteln ==&lt;br /&gt;
&lt;br /&gt;
Belegung aller Tablespaces in Prozent ermitteln:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
with MBYTES as(&lt;br /&gt;
  select tablespace_name, &lt;br /&gt;
         SUM(bytes)/1024/1024 as Akt, &lt;br /&gt;
         SUM(decode(maxbytes,0,bytes,maxbytes))/1024/1024 as ZMax &lt;br /&gt;
  from dba_data_files &lt;br /&gt;
  group by tablespace_name&lt;br /&gt;
), &lt;br /&gt;
MFREE as(&lt;br /&gt;
  select tablespace_name, &lt;br /&gt;
         SUM(bytes)/1024/1024 as Free    &lt;br /&gt;
  from dba_free_space &lt;br /&gt;
  group by tablespace_name&lt;br /&gt;
) &lt;br /&gt;
select MBYTES.tablespace_name, &lt;br /&gt;
       ROUND((AKT-FREE)/ZMAX*100,2) as BelegtProz  &lt;br /&gt;
from MBYTES, MFREE &lt;br /&gt;
where MFREE.tablespace_name = MBYTES.tablespace_name &lt;br /&gt;
order by ROUND((AKT-FREE)/ZMAX*100,2) desc;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ergebnis:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TABLESPACE_NAME                BELEGTPROZ&lt;br /&gt;
------------------------------ ----------&lt;br /&gt;
PSAPSR3                             89.43&lt;br /&gt;
PSAPSR3702                          33.32&lt;br /&gt;
PSAPSR3USR                          20.26&lt;br /&gt;
PSAPUNDO                             6.55&lt;br /&gt;
SYSTEM                               5.05&lt;br /&gt;
SYSAUX                               4.05&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verfügbaren Speicherplatz ermitteln ==&lt;br /&gt;
&lt;br /&gt;
Im Betriebssystem ermitteln, in welchem data-Laufwerk am meisten Platz für die Erweiterung vorhanden ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h | grep oracle&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ausgabe:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p11data01/data01      98G    68G    30G    70%    /oracle/P11/data01&lt;br /&gt;
p11data02/data02     215G   172G    43G    81%    /oracle/P11/data02&lt;br /&gt;
p11data03/data03      98G    51G    47G    52%    /oracle/P11/data03&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== An der Datenbank anmelden ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausgabe formatieren ===&lt;br /&gt;
&lt;br /&gt;
Für eine übersichtlichere Darstellung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
set pages 9999&lt;br /&gt;
set lin 180&lt;br /&gt;
col file_name for a60&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datafiles anzeigen ==&lt;br /&gt;
&lt;br /&gt;
Datafiles zum Tablespace anzeigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Name des Tablespaces ist in der E-Mail von Icinga zu finden.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ausgabe:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                20480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datafile erweitern ==&lt;br /&gt;
&lt;br /&gt;
=== Existierendes Datafile vergrößern ===&lt;br /&gt;
&lt;br /&gt;
Wenn ein Datafile erweitert werden kann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter database datafile &#039;/oracle/P11/data02/beispiel_04.dbf&#039; resize 30G;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Prozess dauert ca. 1 GB pro Minute.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überwachung auf OS-Ebene:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
du -h &amp;lt;FILENAME&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel nach Erweiterung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                30720&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neues Datafile anlegen ===&lt;br /&gt;
&lt;br /&gt;
Falls kein existierendes Datafile erweitert werden kann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter tablespace BEISPIEL add datafile &#039;/oracle/P11/data03/beispiel.dbf&#039; size 100M;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Prozess dauert ca. 1 GB pro Minute.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überwachung auf OS-Ebene:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
du -h &amp;lt;FILENAME&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel nach Anlegen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_05.dbf                                  100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tempfile erweitern ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tempfiles anzeigen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_temp_files;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tempfile hinzufügen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter tablespace &amp;lt;TABLESPACE&amp;gt; add tempfile &#039;+DATA&#039; size 25G;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Tablespace mit neuer Datei erweitern====&lt;br /&gt;
alter tablespace PSAPSR3740X add datafile &#039;/oracle/PZ0/sapdata1/sr3740x_2&#039; size 30G;&lt;br /&gt;
====Backupmodus einstellen====&lt;br /&gt;
Wird benötigt um ggf. die sapdata online kopieren zu können&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; ALTER DATABASE BEGIN BACKUP;&lt;br /&gt;
To find if database or any tablespace is in backup mode, the status in V$BACKUP is ACTIVE&lt;br /&gt;
SQL&amp;gt; select * from v$backup;&lt;br /&gt;
SQL&amp;gt; ALTER DATABASE END BACKUP;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== SYSTEM Passwort ändern ====&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
ALTER USER system IDENTIFIED BY &amp;quot;&amp;lt;PASSWORT&amp;gt;&amp;quot;;&lt;br /&gt;
=== PSAPUNDO - Undo Tablespace ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SELECT file_name,&lt;br /&gt;
       tablespace_name,&lt;br /&gt;
       autoextensible,&lt;br /&gt;
       bytes/1024/1024 AS size_mb,&lt;br /&gt;
       maxbytes/1024/1024 AS max_size_mb&lt;br /&gt;
FROM dba_data_files&lt;br /&gt;
WHERE tablespace_name = &#039;PSAPUNDO&#039;;&lt;br /&gt;
&lt;br /&gt;
ALTER DATABASE DATAFILE &#039;/oracle/R08/sapdata1/undo_1/undo.data1&#039; AUTOEXTEND ON NEXT 100M MAXSIZE 20G;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
==== Freien Speicherplatz anzeigen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
select a.tablespace_name, a.free_bytes*100/b.total_bytes as &amp;quot;Free(%)&amp;quot;&lt;br /&gt;
from&lt;br /&gt;
(select tablespace_name, sum(bytes) free_bytes&lt;br /&gt;
from dba_free_space&lt;br /&gt;
group by tablespace_name) a,&lt;br /&gt;
(select tablespace_name, sum(bytes) total_bytes&lt;br /&gt;
from dba_data_files&lt;br /&gt;
group by tablespace_name) b&lt;br /&gt;
where a.tablespace_name=b.tablespace_name;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Oracle&amp;diff=497</id>
		<title>Oracle</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Oracle&amp;diff=497"/>
		<updated>2026-01-06T09:47:40Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Konfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
==== SAP* löschen ====&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
DELETE FROM SAPSR3.USR02 WHERE MANDT = &#039;000&#039; AND BNAME = &#039;SAP*&#039;;&lt;br /&gt;
COMMIT;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
==== SAP* kopieren (000 nach 200) ====&lt;br /&gt;
INSERT INTO SAPSR3.USR02 (&lt;br /&gt;
    MANDT, BNAME, BCODE, GLTGV, GLTGB, USTYP, &lt;br /&gt;
    CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, &lt;br /&gt;
    TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, &lt;br /&gt;
    BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, &lt;br /&gt;
    BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, &lt;br /&gt;
    CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, &lt;br /&gt;
    RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, &lt;br /&gt;
    PWDSALTEDHASH, SECURITY_POLICY&lt;br /&gt;
)&lt;br /&gt;
SELECT &lt;br /&gt;
    &#039;200&#039;, BNAME, BCODE, GLTGV, GLTGB, USTYP, &lt;br /&gt;
    CLASS, LOCNT, UFLAG, ACCNT, ANAME, ERDAT, &lt;br /&gt;
    TRDAT, LTIME, OCOD1, BCDA1, CODV1, OCOD2, &lt;br /&gt;
    BCDA2, CODV2, OCOD3, BCDA3, CODV3, OCOD4, &lt;br /&gt;
    BCDA4, CODV4, OCOD5, BCDA5, CODV5, VERSN, &lt;br /&gt;
    CODVN, TZONE, ZBVMASTER, PASSCODE, PWDCHGDATE, PWDSTATE, &lt;br /&gt;
    RESERVED, PWDHISTORY, PWDLGNDATE, PWDSETDATE, PWDINITIAL, PWDLOCKDATE, &lt;br /&gt;
    PWDSALTEDHASH, SECURITY_POLICY&lt;br /&gt;
FROM SAPSR3.USR02 &lt;br /&gt;
WHERE MANDT = &#039;000&#039; AND BNAME = &#039;SAP*&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
COMMIT;&lt;br /&gt;
==== Tablespaces und Files anzeigen lassen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SELECT file_name, bytes/1024/1024 AS size_mb FROM dba_data_files WHERE tablespace_name = &#039;PSAPSR3&#039; ORDER BY file_name;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Tablespace anlegen====&lt;br /&gt;
CREATE TABLESPACE PSAPSR3740X DATAFILE &#039;/oracle/PZ0/sapdata1/sr3740x_1&#039; SIZE 10M;&lt;br /&gt;
&lt;br /&gt;
= Erweiterung ohne ASM =&lt;br /&gt;
&lt;br /&gt;
== Tablespace-Belegung ermitteln ==&lt;br /&gt;
&lt;br /&gt;
Belegung aller Tablespaces in Prozent ermitteln:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
with MBYTES as(&lt;br /&gt;
  select tablespace_name, &lt;br /&gt;
         SUM(bytes)/1024/1024 as Akt, &lt;br /&gt;
         SUM(decode(maxbytes,0,bytes,maxbytes))/1024/1024 as ZMax &lt;br /&gt;
  from dba_data_files &lt;br /&gt;
  group by tablespace_name&lt;br /&gt;
), &lt;br /&gt;
MFREE as(&lt;br /&gt;
  select tablespace_name, &lt;br /&gt;
         SUM(bytes)/1024/1024 as Free    &lt;br /&gt;
  from dba_free_space &lt;br /&gt;
  group by tablespace_name&lt;br /&gt;
) &lt;br /&gt;
select MBYTES.tablespace_name, &lt;br /&gt;
       ROUND((AKT-FREE)/ZMAX*100,2) as BelegtProz  &lt;br /&gt;
from MBYTES, MFREE &lt;br /&gt;
where MFREE.tablespace_name = MBYTES.tablespace_name &lt;br /&gt;
order by ROUND((AKT-FREE)/ZMAX*100,2) desc;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ergebnis:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TABLESPACE_NAME                BELEGTPROZ&lt;br /&gt;
------------------------------ ----------&lt;br /&gt;
PSAPSR3                             89.43&lt;br /&gt;
PSAPSR3702                          33.32&lt;br /&gt;
PSAPSR3USR                          20.26&lt;br /&gt;
PSAPUNDO                             6.55&lt;br /&gt;
SYSTEM                               5.05&lt;br /&gt;
SYSAUX                               4.05&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Verfügbaren Speicherplatz ermitteln ==&lt;br /&gt;
&lt;br /&gt;
Im Betriebssystem ermitteln, in welchem data-Laufwerk am meisten Platz für die Erweiterung vorhanden ist:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h | grep oracle&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ausgabe:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
p11data01/data01      98G    68G    30G    70%    /oracle/P11/data01&lt;br /&gt;
p11data02/data02     215G   172G    43G    81%    /oracle/P11/data02&lt;br /&gt;
p11data03/data03      98G    51G    47G    52%    /oracle/P11/data03&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== An der Datenbank anmelden ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausgabe formatieren ===&lt;br /&gt;
&lt;br /&gt;
Für eine übersichtlichere Darstellung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
set pages 9999&lt;br /&gt;
set lin 180&lt;br /&gt;
col file_name for a60&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datafiles anzeigen ==&lt;br /&gt;
&lt;br /&gt;
Datafiles zum Tablespace anzeigen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Name des Tablespaces ist in der E-Mail von Icinga zu finden.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel-Ausgabe:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                20480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datafile erweitern ==&lt;br /&gt;
&lt;br /&gt;
=== Existierendes Datafile vergrößern ===&lt;br /&gt;
&lt;br /&gt;
Wenn ein Datafile erweitert werden kann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter database datafile &#039;/oracle/P11/data02/beispiel_04.dbf&#039; resize 30G;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Prozess dauert ca. 1 GB pro Minute.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überwachung auf OS-Ebene:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
du -h &amp;lt;FILENAME&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel nach Erweiterung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                30720&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neues Datafile anlegen ===&lt;br /&gt;
&lt;br /&gt;
Falls kein existierendes Datafile erweitert werden kann:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter tablespace BEISPIEL add datafile &#039;/oracle/P11/data03/beispiel.dbf&#039; size 100M;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Der Prozess dauert ca. 1 GB pro Minute.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überwachung auf OS-Ebene:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
du -h &amp;lt;FILENAME&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_data_files &lt;br /&gt;
where tablespace_name = &#039;&amp;lt;TABLESPACE&amp;gt;&#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Beispiel nach Anlegen:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FILE_NAME                                                    BYTES/1024/1024&lt;br /&gt;
------------------------------------------------------------ ---------------&lt;br /&gt;
/oracle/P11/data01/beispiel_data_01.dbf                                20480&lt;br /&gt;
/oracle/P11/data02/beispiel_data_02.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_03.dbf                                30720&lt;br /&gt;
/oracle/P11/data02/beispiel_data_04.dbf                                20480&lt;br /&gt;
/oracle/P11/data03/beispiel_data_05.dbf                                  100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tempfile erweitern ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tempfiles anzeigen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
select file_name, bytes/1024/1024 &lt;br /&gt;
from dba_temp_files;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tempfile hinzufügen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
alter tablespace &amp;lt;TABLESPACE&amp;gt; add tempfile &#039;+DATA&#039; size 25G;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Tablespace mit neuer Datei erweitern====&lt;br /&gt;
alter tablespace PSAPSR3740X add datafile &#039;/oracle/PZ0/sapdata1/sr3740x_2&#039; size 30G;&lt;br /&gt;
====Backupmodus einstellen====&lt;br /&gt;
Wird benötigt um ggf. die sapdata online kopieren zu können&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; ALTER DATABASE BEGIN BACKUP;&lt;br /&gt;
To find if database or any tablespace is in backup mode, the status in V$BACKUP is ACTIVE&lt;br /&gt;
SQL&amp;gt; select * from v$backup;&lt;br /&gt;
SQL&amp;gt; ALTER DATABASE END BACKUP;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== SYSTEM Passwort ändern ====&lt;br /&gt;
sqlplus / as sysdba&lt;br /&gt;
ALTER USER system IDENTIFIED BY &amp;quot;&amp;lt;PASSWORT&amp;gt;&amp;quot;;&lt;br /&gt;
=== PSAPUNDO - Undo Tablespace ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
SELECT file_name,&lt;br /&gt;
       tablespace_name,&lt;br /&gt;
       autoextensible,&lt;br /&gt;
       bytes/1024/1024 AS size_mb,&lt;br /&gt;
       maxbytes/1024/1024 AS max_size_mb&lt;br /&gt;
FROM dba_data_files&lt;br /&gt;
WHERE tablespace_name = &#039;PSAPUNDO&#039;;&lt;br /&gt;
&lt;br /&gt;
ALTER DATABASE DATAFILE &#039;/oracle/R08/sapdata1/undo_1/undo.data1&#039; AUTOEXTEND ON NEXT 100M MAXSIZE 20G;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
==== Freien Speicherplatz anzeigen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
select a.tablespace_name, a.free_bytes*100/b.total_bytes as &amp;quot;Free(%)&amp;quot;&lt;br /&gt;
from&lt;br /&gt;
(select tablespace_name, sum(bytes) free_bytes&lt;br /&gt;
from dba_free_space&lt;br /&gt;
group by tablespace_name) a,&lt;br /&gt;
(select tablespace_name, sum(bytes) total_bytes&lt;br /&gt;
from dba_data_files&lt;br /&gt;
group by tablespace_name) b&lt;br /&gt;
where a.tablespace_name=b.tablespace_name;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Wireguard_einrichten&amp;diff=496</id>
		<title>Wireguard einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Wireguard_einrichten&amp;diff=496"/>
		<updated>2025-12-29T12:39:47Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Wireguard Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
apt install wireguard -y&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
====Server====&lt;br /&gt;
Keys erzeugen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
wg genkey | sudo tee /etc/wireguard/priv.key&lt;br /&gt;
chmod go= /etc/wireguard/priv.key&lt;br /&gt;
&lt;br /&gt;
cat /etc/wireguard/priv.key | wg pubkey | sudo tee &amp;gt;&amp;gt; /etc/wireguard/pub.key&lt;br /&gt;
nano /etc/wireguard/wg0.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Inhalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Interface]&lt;br /&gt;
Address = 10.0.5.1/24&lt;br /&gt;
ListenPort = 51820&lt;br /&gt;
# Use your own private key, from /etc/wireguard/privatekey&lt;br /&gt;
PrivateKey = XXX &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Routen einstellen damit Clients kommunizieren können&lt;br /&gt;
PostUp     = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -A FORWARD -i wg0 -o wg0 -j ACCEPT&lt;br /&gt;
PostDown   = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
[Peer]&lt;br /&gt;
# Client 1&lt;br /&gt;
PublicKey = XXX&lt;br /&gt;
# VPN client&#039;s IP address in the VPN&lt;br /&gt;
AllowedIPs = 10.0.5.2/32&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;net.ipv4.ip_forward=1&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf &amp;amp;&amp;amp; sysctl -p &amp;amp;&amp;amp; sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
wg-quick up wg0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Wireguard Client=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apt update &amp;amp;&amp;amp; apt install wireguard resolvconf -y&lt;br /&gt;
cd /etc/wireguard&lt;br /&gt;
umask 077&lt;br /&gt;
wg genkey | tee privatekey | wg pubkey &amp;gt; publickey&lt;br /&gt;
cat publickey&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Auf der OPNSense Firewall jetzt den Peer erzeugen:&lt;br /&gt;
   1. Gehe zu VPN -&amp;gt; WireGuard -&amp;gt; Peers.&lt;br /&gt;
   2. Erstelle einen neuen Peer für den ersten VPS (z.B. &amp;quot;VPS_195&amp;quot;):&lt;br /&gt;
       * Enabled: Haken setzen.&lt;br /&gt;
       * Public Key: Hier den Inhalt der publickey Datei vom VPS eintragen.&lt;br /&gt;
       * Allowed IPs: 10.0.0.2/32 (WICHTIG: Hier nur die eine IP des VPS eintragen, mit /32. Das sagt der OPNsense: &amp;quot;Pakete für 10.0.0.2 schicke ich an diesen Tunnel&amp;quot;).&lt;br /&gt;
       * Keepalive: 25 (Sinnvoll, um die Verbindung durch NAT/Firewalls offen zu halten).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cat privatekey&lt;br /&gt;
nano /etc/wireguard/wg0.conf&lt;br /&gt;
Beispiel für VPS 1 (IP 10.0.0.2):&lt;br /&gt;
[Interface]&lt;br /&gt;
Address = 10.0.0.2/24&lt;br /&gt;
PrivateKey = &amp;lt;HIER_DEN_PRIVATE_KEY_VOM_VPS_EINFÜGEN&amp;gt;&lt;br /&gt;
# Optional: Wenn der VPS auch DNS von Zuhause nutzen soll&lt;br /&gt;
# DNS = 192.168.1.1 &lt;br /&gt;
&lt;br /&gt;
[Peer]&lt;br /&gt;
PublicKey = &amp;lt;HIER_DEN_PUBLIC_KEY_DER_OPNSENSE_EINFÜGEN&amp;gt;&lt;br /&gt;
# Der Endpoint muss per IPv6 erreichbar sein&lt;br /&gt;
Endpoint = xsarts.de:51820&lt;br /&gt;
# Welche IPs sollen durch den Tunnel gehen?&lt;br /&gt;
# 10.0.0.0/24 erlaubt Zugriff auf das Tunnel-Netzwerk.&lt;br /&gt;
# Wenn der VPS auch dein LAN (192.168.1.x) erreichen soll, füge es hinzu:&lt;br /&gt;
AllowedIPs = 10.0.0.0/24, 192.168.1.0/24&lt;br /&gt;
PersistentKeepalive = 25&lt;br /&gt;
&lt;br /&gt;
#WoW Portweiterleitung ins HomeLab&lt;br /&gt;
# ---------- PostUp ----------&lt;br /&gt;
PostUp = sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
PostUp = iptables -t nat -A PREROUTING  -p tcp --dport 8085 -j DNAT --to-destination 192.168.1.17:8085&lt;br /&gt;
PostUp = iptables -t nat -A PREROUTING  -p tcp --dport 3724 -j DNAT --to-destination 192.168.1.17:3724&lt;br /&gt;
PostUp = iptables -t nat -A POSTROUTING -o %i -j MASQUERADE&lt;br /&gt;
PostUp = iptables -A FORWARD -i eth0 -o %i -p tcp -m multiport --dports 8085,3724 -m conntrack --ctstate NEW      -j ACCEPT&lt;br /&gt;
PostUp = iptables -A FORWARD                       -m conntrack --ctstate ESTABLISHED,RELATED                      -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
# ---------- PostDown ----------&lt;br /&gt;
PostDown = iptables -t nat -D PREROUTING  -p tcp --dport 8085 -j DNAT --to-destination 192.168.1.17:8085&lt;br /&gt;
PostDown = iptables -t nat -D PREROUTING  -p tcp --dport 3724 -j DNAT --to-destination 192.168.1.17:3724&lt;br /&gt;
PostDown = iptables -t nat -D POSTROUTING -o %i -j MASQUERADE&lt;br /&gt;
PostDown = iptables -D FORWARD -i eth0 -o %i -p tcp -m multiport --dports 8085,3724 -m conntrack --ctstate NEW      -j ACCEPT&lt;br /&gt;
PostDown = iptables -D FORWARD                       -m conntrack --ctstate ESTABLISHED,RELATED                      -j ACCEPT&lt;br /&gt;
PostDown = sysctl -w net.ipv4.ip_forward=0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Peer]&lt;br /&gt;
PublicKey = &lt;br /&gt;
Endpoint = xsarts.de:51820&lt;br /&gt;
AllowedIPs = 192.168.1.0/24&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wireguard starten und testen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable wg-quick@wg0 &amp;amp;&amp;amp; systemctl start wg-quick@wg0 &amp;amp;&amp;amp; ping 10.0.0.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
=== Fehlerbehebung===&lt;br /&gt;
====Starten/Stoppen funktioniert nicht====&lt;br /&gt;
=====Lösung 1=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
auszufüllen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Wireguard_einrichten&amp;diff=495</id>
		<title>Wireguard einrichten</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Wireguard_einrichten&amp;diff=495"/>
		<updated>2025-12-29T12:21:26Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Wireguard Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
apt install wireguard -y&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
====Server====&lt;br /&gt;
Keys erzeugen&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
wg genkey | sudo tee /etc/wireguard/priv.key&lt;br /&gt;
chmod go= /etc/wireguard/priv.key&lt;br /&gt;
&lt;br /&gt;
cat /etc/wireguard/priv.key | wg pubkey | sudo tee &amp;gt;&amp;gt; /etc/wireguard/pub.key&lt;br /&gt;
nano /etc/wireguard/wg0.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Inhalt:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[Interface]&lt;br /&gt;
Address = 10.0.5.1/24&lt;br /&gt;
ListenPort = 51820&lt;br /&gt;
# Use your own private key, from /etc/wireguard/privatekey&lt;br /&gt;
PrivateKey = XXX &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Routen einstellen damit Clients kommunizieren können&lt;br /&gt;
PostUp     = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -A FORWARD -i wg0 -o wg0 -j ACCEPT&lt;br /&gt;
PostDown   = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;
&lt;br /&gt;
[Peer]&lt;br /&gt;
# Client 1&lt;br /&gt;
PublicKey = XXX&lt;br /&gt;
# VPN client&#039;s IP address in the VPN&lt;br /&gt;
AllowedIPs = 10.0.5.2/32&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;net.ipv4.ip_forward=1&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf &amp;amp;&amp;amp; sysctl -p &amp;amp;&amp;amp; sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
wg-quick up wg0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====Wireguard Client=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apt update &amp;amp;&amp;amp; apt install wireguard resolvconf -y&lt;br /&gt;
cd /etc/wireguard&lt;br /&gt;
umask 077&lt;br /&gt;
cat publickey&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Auf der OPNSense Firewall jetzt den Peer erzeugen:&lt;br /&gt;
   1. Gehe zu VPN -&amp;gt; WireGuard -&amp;gt; Peers.&lt;br /&gt;
   2. Erstelle einen neuen Peer für den ersten VPS (z.B. &amp;quot;VPS_195&amp;quot;):&lt;br /&gt;
       * Enabled: Haken setzen.&lt;br /&gt;
       * Public Key: Hier den Inhalt der publickey Datei vom VPS eintragen.&lt;br /&gt;
       * Allowed IPs: 10.0.0.2/32 (WICHTIG: Hier nur die eine IP des VPS eintragen, mit /32. Das sagt der OPNsense: &amp;quot;Pakete für 10.0.0.2 schicke ich an diesen Tunnel&amp;quot;).&lt;br /&gt;
       * Keepalive: 25 (Sinnvoll, um die Verbindung durch NAT/Firewalls offen zu halten).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cat privatekey&lt;br /&gt;
nano /etc/wireguard/wg0.conf&lt;br /&gt;
Beispiel für VPS 1 (IP 10.0.0.2):&lt;br /&gt;
[Interface]&lt;br /&gt;
Address = 10.0.0.2/24&lt;br /&gt;
PrivateKey = &amp;lt;HIER_DEN_PRIVATE_KEY_VOM_VPS_EINFÜGEN&amp;gt;&lt;br /&gt;
# Optional: Wenn der VPS auch DNS von Zuhause nutzen soll&lt;br /&gt;
# DNS = 192.168.1.1 &lt;br /&gt;
&lt;br /&gt;
[Peer]&lt;br /&gt;
PublicKey = &amp;lt;HIER_DEN_PUBLIC_KEY_DER_OPNSENSE_EINFÜGEN&amp;gt;&lt;br /&gt;
# Der Endpoint muss per IPv6 erreichbar sein&lt;br /&gt;
Endpoint = xsarts.de:51820&lt;br /&gt;
# Welche IPs sollen durch den Tunnel gehen?&lt;br /&gt;
# 10.0.0.0/24 erlaubt Zugriff auf das Tunnel-Netzwerk.&lt;br /&gt;
# Wenn der VPS auch dein LAN (192.168.1.x) erreichen soll, füge es hinzu:&lt;br /&gt;
AllowedIPs = 10.0.0.0/24, 192.168.1.0/24&lt;br /&gt;
PersistentKeepalive = 25&lt;br /&gt;
&lt;br /&gt;
#WoW Portweiterleitung ins HomeLab&lt;br /&gt;
# ---------- PostUp ----------&lt;br /&gt;
PostUp = sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
PostUp = iptables -t nat -A PREROUTING  -p tcp --dport 8085 -j DNAT --to-destination 192.168.1.17:8085&lt;br /&gt;
PostUp = iptables -t nat -A PREROUTING  -p tcp --dport 3724 -j DNAT --to-destination 192.168.1.17:3724&lt;br /&gt;
PostUp = iptables -t nat -A POSTROUTING -o %i -j MASQUERADE&lt;br /&gt;
PostUp = iptables -A FORWARD -i eth0 -o %i -p tcp -m multiport --dports 8085,3724 -m conntrack --ctstate NEW      -j ACCEPT&lt;br /&gt;
PostUp = iptables -A FORWARD                       -m conntrack --ctstate ESTABLISHED,RELATED                      -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
# ---------- PostDown ----------&lt;br /&gt;
PostDown = iptables -t nat -D PREROUTING  -p tcp --dport 8085 -j DNAT --to-destination 192.168.1.17:8085&lt;br /&gt;
PostDown = iptables -t nat -D PREROUTING  -p tcp --dport 3724 -j DNAT --to-destination 192.168.1.17:3724&lt;br /&gt;
PostDown = iptables -t nat -D POSTROUTING -o %i -j MASQUERADE&lt;br /&gt;
PostDown = iptables -D FORWARD -i eth0 -o %i -p tcp -m multiport --dports 8085,3724 -m conntrack --ctstate NEW      -j ACCEPT&lt;br /&gt;
PostDown = iptables -D FORWARD                       -m conntrack --ctstate ESTABLISHED,RELATED                      -j ACCEPT&lt;br /&gt;
PostDown = sysctl -w net.ipv4.ip_forward=0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[Peer]&lt;br /&gt;
PublicKey = &lt;br /&gt;
Endpoint = xsarts.de:51820&lt;br /&gt;
AllowedIPs = 192.168.1.0/24&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Wireguard starten und testen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable wg-quick@wg0 &amp;amp;&amp;amp; systemctl start wg-quick@wg0 &amp;amp;&amp;amp; ping 10.0.0.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
=== Fehlerbehebung===&lt;br /&gt;
====Starten/Stoppen funktioniert nicht====&lt;br /&gt;
=====Lösung 1=====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
auszufüllen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Icinga&amp;diff=494</id>
		<title>Icinga</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Icinga&amp;diff=494"/>
		<updated>2025-12-27T09:36:00Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Agent/Client Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Master Server ====&lt;br /&gt;
==== Agent/Client Installation ====&lt;br /&gt;
Am Agent/Client:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
curl -sSL https://packages.icinga.com/icinga.key | apt-key add -&lt;br /&gt;
apt-add-repository &amp;quot;deb https://packages.icinga.com/$(lsb_release -cs) icinga-$(lsb_release -cs) main&amp;quot;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt install monitoring-plugins -y&lt;br /&gt;
adduser icinga&lt;br /&gt;
sudo sed -i &#039;s/^#\?\s*PasswordAuthentication\s\+no/PasswordAuthentication yes/&#039; /etc/ssh/sshd_config &amp;amp;&amp;amp; service ssh restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vom Icinga-Server aus: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u nagios ssh-copy-id icinga@&amp;lt;remote-server&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Falls der Befehl oben nicht verfügbar ist, kopiere den Inhalt von /var/lib/icinga2/.ssh/id_rsa.pub und füge ihn auf dem Remote-Server am Ende der Datei /home/icinga/.ssh/authorized_keys ein.&lt;br /&gt;
&lt;br /&gt;
Am Agent/Client:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo sed -i &#039;s/^#\?\s*PasswordAuthentication\s\+yes/PasswordAuthentication no/&#039; /etc/ssh/sshd_config &amp;amp;&amp;amp; service ssh restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vom Icinga-Server aus:  &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u nagios /usr/bin/ssh -i /var/lib/nagios/.ssh/id_rsa icinga@&amp;lt;remote-server&amp;gt; &amp;quot;/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /&amp;quot; #testen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===== Emailversand =====&lt;br /&gt;
Siehe [[Postfix#Via_SMTP_Relay_Host|Postfix]]&lt;br /&gt;
&lt;br /&gt;
==== Agent/Client ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
icinga2 node wizard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Während der Konfiguration:&lt;br /&gt;
&lt;br /&gt;
*Typ des Setups: Wähle agent.&lt;br /&gt;
*Master-Verbindung: Gib die IP/Hostname des Masters ein.&lt;br /&gt;
*Port: 5665 (Standardport für den Agent).&lt;br /&gt;
*Zertifikatsanforderung: Bestätige, dass der Agent ein Zertifikat vom Master anfordert.&lt;br /&gt;
*Zone: Stelle sicher, dass die Zone des Agents korrekt benannt ist.&lt;br /&gt;
*Endpunkt: Füge den Endpunkt des Masters hinzu.&lt;br /&gt;
Am Master, neuen Client hinzufügen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
icinga2 pki ticket --cn &#039;&amp;lt;client hostname&amp;gt;&#039; --salt &#039;&amp;lt;salt&amp;gt;&#039; #die Ausgabe dann beim Client eintragen&lt;br /&gt;
icinga2 ca list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Client:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl restart icinga2&lt;br /&gt;
sudo systemctl enable icinga2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Füge den Agent in der /etc/icinga2/zones.conf hinzu:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
object Endpoint &amp;quot;vps-hostname&amp;quot; {&lt;br /&gt;
    host = &amp;quot;IP-Adresse-des-VPS&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
object Zone &amp;quot;vps-hostname&amp;quot; {&lt;br /&gt;
    endpoints = [ &amp;quot;vps-hostname&amp;quot; ]&lt;br /&gt;
    parent = &amp;quot;icinga&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Füge den Host in der Datei /etc/icinga2/conf.d/hosts.conf hinzu:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
object Host &amp;quot;vps-hostname&amp;quot; {&lt;br /&gt;
    address = &amp;quot;IP-Adresse-des-VPS&amp;quot;&lt;br /&gt;
    check_command = &amp;quot;hostalive&amp;quot;&lt;br /&gt;
    vars.os = &amp;quot;Linux&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Konfiguration neu laden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
icinga2 daemon -C &amp;amp;&amp;amp; systemctl restart icinga2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
=== Fehlerbehebung===&lt;br /&gt;
====Remote command execution failed: @@@@@@====&lt;br /&gt;
Bash Script auf Icinga Server erstellen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Script zum Eintragen eines SSH-Host-Keys für den Nagios-Benutzer&lt;br /&gt;
# Verwendung: sudo ./add_known_host.sh npuls.de&lt;br /&gt;
&lt;br /&gt;
HOST=&amp;quot;$1&amp;quot;&lt;br /&gt;
USER=&amp;quot;nagios&amp;quot;&lt;br /&gt;
SSH_DIR=&amp;quot;/var/lib/$USER/.ssh&amp;quot;&lt;br /&gt;
KNOWN_HOSTS=&amp;quot;$SSH_DIR/known_hosts&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [[ -z &amp;quot;$HOST&amp;quot; ]]; then&lt;br /&gt;
  echo &amp;quot;Verwendung: $0 &amp;lt;hostname oder IP&amp;gt;&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Erstelle das .ssh-Verzeichnis, falls nicht vorhanden&lt;br /&gt;
if [[ ! -d &amp;quot;$SSH_DIR&amp;quot; ]]; then&lt;br /&gt;
  echo &amp;quot;[INFO] Erstelle $SSH_DIR ...&amp;quot;&lt;br /&gt;
  mkdir -p &amp;quot;$SSH_DIR&amp;quot;&lt;br /&gt;
  chown &amp;quot;$USER:$USER&amp;quot; &amp;quot;$SSH_DIR&amp;quot;&lt;br /&gt;
  chmod 700 &amp;quot;$SSH_DIR&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Stelle sicher, dass known_hosts existiert&lt;br /&gt;
if [[ ! -f &amp;quot;$KNOWN_HOSTS&amp;quot; ]]; then&lt;br /&gt;
  echo &amp;quot;[INFO] Erstelle $KNOWN_HOSTS ...&amp;quot;&lt;br /&gt;
  touch &amp;quot;$KNOWN_HOSTS&amp;quot;&lt;br /&gt;
  chown &amp;quot;$USER:$USER&amp;quot; &amp;quot;$KNOWN_HOSTS&amp;quot;&lt;br /&gt;
  chmod 600 &amp;quot;$KNOWN_HOSTS&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Füge den Host-Key hinzu, falls noch nicht vorhanden&lt;br /&gt;
echo &amp;quot;[INFO] Füge SSH-Host-Key für $HOST hinzu ...&amp;quot;&lt;br /&gt;
sudo -u &amp;quot;$USER&amp;quot; ssh-keyscan -H &amp;quot;$HOST&amp;quot; &amp;gt;&amp;gt; &amp;quot;$KNOWN_HOSTS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;[OK] Host $HOST wurde zu $KNOWN_HOSTS hinzugefügt.&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/add_known_host.sh &amp;amp;&amp;amp; sudo /usr/local/bin/add_known_host.sh &amp;lt;IP oder Domain&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Remote command execution failed: bash: line 1: /usr/lib/nagios/plugins/check_mem.pl: No such file or directory====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
wget https://raw.githubusercontent.com/justintime/nagios-plugins/master/check_mem/check_mem.pl -O /usr/lib/nagios/plugins/check_mem.pl&lt;br /&gt;
chmod +x /usr/lib/nagios/plugins/check_mem.pl&lt;br /&gt;
chown root:nagios /usr/lib/nagios/plugins/check_mem.pl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=Icinga&amp;diff=493</id>
		<title>Icinga</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=Icinga&amp;diff=493"/>
		<updated>2025-12-27T09:35:41Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Agent/Client Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
==== Master Server ====&lt;br /&gt;
==== Agent/Client Installation ====&lt;br /&gt;
Am Agent/Client:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
curl -sSL https://packages.icinga.com/icinga.key | apt-key add -&lt;br /&gt;
apt-add-repository &amp;quot;deb https://packages.icinga.com/$(lsb_release -cs) icinga-$(lsb_release -cs) main&amp;quot;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt install monitoring-plugins -y&lt;br /&gt;
adduser icinga&lt;br /&gt;
sudo sed -i &#039;s/^#\?\s*PasswordAuthentication\s\+no/PasswordAuthentication yes/&#039; /etc/ssh/sshd_config &amp;amp;&amp;amp; service ssh restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vom Icinga-Server aus: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u nagios ssh-copy-id icinga@&amp;lt;remote-server&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Falls ssh-copy-id nicht geht (Manuelle Methode):&lt;br /&gt;
&lt;br /&gt;
Falls der Befehl oben nicht verfügbar ist, kopiere den Inhalt von /var/lib/icinga2/.ssh/id_rsa.pub und füge ihn auf dem Remote-Server am Ende der Datei /home/icinga/.ssh/authorized_keys ein.&lt;br /&gt;
&lt;br /&gt;
Am Agent/Client:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo sed -i &#039;s/^#\?\s*PasswordAuthentication\s\+yes/PasswordAuthentication no/&#039; /etc/ssh/sshd_config &amp;amp;&amp;amp; service ssh restart&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Vom Icinga-Server aus:  &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u nagios /usr/bin/ssh -i /var/lib/nagios/.ssh/id_rsa icinga@&amp;lt;remote-server&amp;gt; &amp;quot;/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /&amp;quot; #testen&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===== Emailversand =====&lt;br /&gt;
Siehe [[Postfix#Via_SMTP_Relay_Host|Postfix]]&lt;br /&gt;
&lt;br /&gt;
==== Agent/Client ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
icinga2 node wizard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Während der Konfiguration:&lt;br /&gt;
&lt;br /&gt;
*Typ des Setups: Wähle agent.&lt;br /&gt;
*Master-Verbindung: Gib die IP/Hostname des Masters ein.&lt;br /&gt;
*Port: 5665 (Standardport für den Agent).&lt;br /&gt;
*Zertifikatsanforderung: Bestätige, dass der Agent ein Zertifikat vom Master anfordert.&lt;br /&gt;
*Zone: Stelle sicher, dass die Zone des Agents korrekt benannt ist.&lt;br /&gt;
*Endpunkt: Füge den Endpunkt des Masters hinzu.&lt;br /&gt;
Am Master, neuen Client hinzufügen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
icinga2 pki ticket --cn &#039;&amp;lt;client hostname&amp;gt;&#039; --salt &#039;&amp;lt;salt&amp;gt;&#039; #die Ausgabe dann beim Client eintragen&lt;br /&gt;
icinga2 ca list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Client:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo systemctl restart icinga2&lt;br /&gt;
sudo systemctl enable icinga2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Füge den Agent in der /etc/icinga2/zones.conf hinzu:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
object Endpoint &amp;quot;vps-hostname&amp;quot; {&lt;br /&gt;
    host = &amp;quot;IP-Adresse-des-VPS&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
object Zone &amp;quot;vps-hostname&amp;quot; {&lt;br /&gt;
    endpoints = [ &amp;quot;vps-hostname&amp;quot; ]&lt;br /&gt;
    parent = &amp;quot;icinga&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Füge den Host in der Datei /etc/icinga2/conf.d/hosts.conf hinzu:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
object Host &amp;quot;vps-hostname&amp;quot; {&lt;br /&gt;
    address = &amp;quot;IP-Adresse-des-VPS&amp;quot;&lt;br /&gt;
    check_command = &amp;quot;hostalive&amp;quot;&lt;br /&gt;
    vars.os = &amp;quot;Linux&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Konfiguration neu laden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
icinga2 daemon -C &amp;amp;&amp;amp; systemctl restart icinga2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update ===&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
&lt;br /&gt;
=== Fehlerbehebung===&lt;br /&gt;
====Remote command execution failed: @@@@@@====&lt;br /&gt;
Bash Script auf Icinga Server erstellen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Script zum Eintragen eines SSH-Host-Keys für den Nagios-Benutzer&lt;br /&gt;
# Verwendung: sudo ./add_known_host.sh npuls.de&lt;br /&gt;
&lt;br /&gt;
HOST=&amp;quot;$1&amp;quot;&lt;br /&gt;
USER=&amp;quot;nagios&amp;quot;&lt;br /&gt;
SSH_DIR=&amp;quot;/var/lib/$USER/.ssh&amp;quot;&lt;br /&gt;
KNOWN_HOSTS=&amp;quot;$SSH_DIR/known_hosts&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [[ -z &amp;quot;$HOST&amp;quot; ]]; then&lt;br /&gt;
  echo &amp;quot;Verwendung: $0 &amp;lt;hostname oder IP&amp;gt;&amp;quot;&lt;br /&gt;
  exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Erstelle das .ssh-Verzeichnis, falls nicht vorhanden&lt;br /&gt;
if [[ ! -d &amp;quot;$SSH_DIR&amp;quot; ]]; then&lt;br /&gt;
  echo &amp;quot;[INFO] Erstelle $SSH_DIR ...&amp;quot;&lt;br /&gt;
  mkdir -p &amp;quot;$SSH_DIR&amp;quot;&lt;br /&gt;
  chown &amp;quot;$USER:$USER&amp;quot; &amp;quot;$SSH_DIR&amp;quot;&lt;br /&gt;
  chmod 700 &amp;quot;$SSH_DIR&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Stelle sicher, dass known_hosts existiert&lt;br /&gt;
if [[ ! -f &amp;quot;$KNOWN_HOSTS&amp;quot; ]]; then&lt;br /&gt;
  echo &amp;quot;[INFO] Erstelle $KNOWN_HOSTS ...&amp;quot;&lt;br /&gt;
  touch &amp;quot;$KNOWN_HOSTS&amp;quot;&lt;br /&gt;
  chown &amp;quot;$USER:$USER&amp;quot; &amp;quot;$KNOWN_HOSTS&amp;quot;&lt;br /&gt;
  chmod 600 &amp;quot;$KNOWN_HOSTS&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Füge den Host-Key hinzu, falls noch nicht vorhanden&lt;br /&gt;
echo &amp;quot;[INFO] Füge SSH-Host-Key für $HOST hinzu ...&amp;quot;&lt;br /&gt;
sudo -u &amp;quot;$USER&amp;quot; ssh-keyscan -H &amp;quot;$HOST&amp;quot; &amp;gt;&amp;gt; &amp;quot;$KNOWN_HOSTS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;[OK] Host $HOST wurde zu $KNOWN_HOSTS hinzugefügt.&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ausführen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo chmod +x /usr/local/bin/add_known_host.sh &amp;amp;&amp;amp; sudo /usr/local/bin/add_known_host.sh &amp;lt;IP oder Domain&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
====Remote command execution failed: bash: line 1: /usr/lib/nagios/plugins/check_mem.pl: No such file or directory====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
wget https://raw.githubusercontent.com/justintime/nagios-plugins/master/check_mem/check_mem.pl -O /usr/lib/nagios/plugins/check_mem.pl&lt;br /&gt;
chmod +x /usr/lib/nagios/plugins/check_mem.pl&lt;br /&gt;
chown root:nagios /usr/lib/nagios/plugins/check_mem.pl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Links ===&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
	<entry>
		<id>https://wiki.fam-puls.de/index.php?title=VLLm&amp;diff=492</id>
		<title>VLLm</title>
		<link rel="alternate" type="text/html" href="https://wiki.fam-puls.de/index.php?title=VLLm&amp;diff=492"/>
		<updated>2025-12-18T22:06:11Z</updated>

		<summary type="html">&lt;p&gt;Hendrik: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Beschreibung ===&lt;br /&gt;
Docker normal installieren&lt;br /&gt;
&lt;br /&gt;
=== Download ===&lt;br /&gt;
Normal (ROCm)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker pull rocm/vllm-dev:nightly&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
gfx906&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker pull nalanzeyu/vllm-gfx906&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ausführen ===&lt;br /&gt;
Variante 1:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
docker run -it --rm --shm-size=8g --device=/dev/kfd --device=/dev/dri \&lt;br /&gt;
    --group-add video -p 8086:8000 \&lt;br /&gt;
    -v /mnt/share/models:/models \&lt;br /&gt;
    nalanzeyu/vllm-gfx906 \&lt;br /&gt;
    vllm serve /models/Qwen3-Coder-30B-A3B-Instruct-AWQ-4bit --served-model-name Homelab --max-model-len 30000 --enable-auto-tool-choice --tool-call-parser hermes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Variante 2, getestet 18.12.2025:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker run -it --rm --network=host \&lt;br /&gt;
--group-add=video --ipc=host --cap-add=SYS_PTRACE \&lt;br /&gt;
--security-opt seccomp=unconfined --device /dev/kfd \&lt;br /&gt;
--device /dev/dri \&lt;br /&gt;
-v /home/hendrik/.lmstudio/models/:/app/models \&lt;br /&gt;
-e HF_HOME=&amp;quot;/app/models&amp;quot; \&lt;br /&gt;
-e HF_TOKEN=&amp;quot;&amp;lt;TOKEN&amp;gt;&amp;quot; \&lt;br /&gt;
-e NCCL_P2P_DISABLE=1 \&lt;br /&gt;
-e VLLM_CUSTOM_OPS=all \&lt;br /&gt;
-e VLLM_ROCM_USE_AITER=0 \&lt;br /&gt;
-e SAFETENSORS_FAST_GPU=1 \&lt;br /&gt;
-e PYTORCH_TUNABLEOP_ENABLED=1&lt;br /&gt;
rocm/vllm-dev:nightly&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für gfx1201:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker run -it --rm --network=host \&lt;br /&gt;
--group-add=video --ipc=host --cap-add=SYS_PTRACE \&lt;br /&gt;
--security-opt seccomp=unconfined --device /dev/kfd \&lt;br /&gt;
--device /dev/dri \&lt;br /&gt;
-v /home/hendrik/.lmstudio/models/:/app/models \&lt;br /&gt;
-e HF_HOME=&amp;quot;/app/models&amp;quot; \&lt;br /&gt;
-e HF_TOKEN=&amp;quot;&amp;lt;TOKEN&amp;gt;&amp;quot; \&lt;br /&gt;
-e NCCL_P2P_DISABLE=1 \&lt;br /&gt;
-e VLLM_CUSTOM_OPS=all \&lt;br /&gt;
-e VLLM_ROCM_USE_AITER=0 \&lt;br /&gt;
-e SAFETENSORS_FAST_GPU=1 \&lt;br /&gt;
-e PYTORCH_TUNABLEOP_ENABLED=1&lt;br /&gt;
kyuz0/vllm-therock-gfx1201&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ohne Tensor Parallism:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vllm serve Qwen/Qwen3-VL-8B-Thinking --served-model-name Homelab --max_model_len 4096 --enable-auto-tool-choice --tool-call-parser hermes --reasoning-parser qwen3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Mit:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vllm serve Qwen/Qwen3-VL-8B-Thinking --served-model-name Homelab --tp 2 --max_model_len 4096 --enable-auto-tool-choice --tool-call-parser hermes --reasoning-parser qwen3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Benchmark:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vllm bench serve --num-prompts 1 --dataset-name=random --input-len 512 --output-len 128 --model Qwen/Qwen3-4B-Instruct-2507-FP8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test ===&lt;br /&gt;
=== Bekannte Probleme ===&lt;br /&gt;
=== Nützliche Links ===&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp Offizielles llama.cpp Repository]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/blob/master/examples/server/README.md llama-server Dokumentation]&lt;br /&gt;
* [https://github.com/ggml-org/llama.cpp/discussions llama.cpp Discussions]&lt;br /&gt;
* [https://huggingface.co/models?library=gguf GGUF Modelle auf Hugging Face]&lt;br /&gt;
* [https://docs.rocm.com/ ROCm Dokumentation]&lt;br /&gt;
* [https://vulkan.lunarg.com/doc/sdk Vulkan SDK Dokumentation]&lt;/div&gt;</summary>
		<author><name>Hendrik</name></author>
	</entry>
</feed>