启动脚本
路由 - 自动化加载
nohup llama-server --models-preset ~/gguf/0410.ini --port 8080 --api-key apiKEYxxxxxxxx > ~/gguf/llama_server.log 2>&1 &
# 查看模型,一般是待加载状态
curl http://127.0.0.1:8080/v1/models
# 请求模型1, 触发加载
curl http://127.0.0.1:8080/v1/completions -d '{"model":"tiny_starcoder","prompt":"hi","max_tokens":1}' -H "Authorization: Bearer ****W44="
# 请求模型2, 触发加载
curl http://127.0.0.1:8080/v1/completions -d '{"model":"Qwen3.5-27B","prompt":"hi","max_tokens":1}' -H "Authorization: Bearer ****W44="核心参数总览(通用)
https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md
| 分类 | 参数 | 作用说明 |
|---|---|---|
| 模型加载 | -m / --model 模型路径 | 必填,指定 GGUF 模型路径 |
-ngl / --n-gpu-layers 99 | 全部层卸载到 GPU(提速、省内存) | |
--tensor-split 1,1 | 双显卡平均分配算力(24G+24G) | |
| --split-mode layer | 默认按层来依次计算,如果是row则向量均分但多任务不友好 | |
--fa / --flash-attn on | 长文本优化,大幅省显存 | |
--mlock | 锁死在物理内存,禁止交换到 Swap硬盘,避免卡顿 | |
| --cache-type-k q8_0 --cache-type-v q8_0 | KV缓存量化,可以进一步降低到q4,能降低内存需求 | |
--cache-type-k q8_0 | KV 缓存量化,省 30%+ 显存 | |
| 服务配置 | --host 0.0.0.0 | 允许局域网/内网穿透访问 |
--port 8080 | 多模型必须用不同端口 | |
--api-key xxxxxxxxx | 接口安全验证 | |
--cors--cors-allow-origin "*" | 允许 跨域 Dify/FastGPT 调用 | |
--timeout 600 | 大模型长文本防超时 | |
| 性能并发 | -c / --ctx-size 32768 | 上下文窗口,总上下文,会被槽位均分,应=预期上下文*槽位 |
-np / --parallel 2 | 并发请求数 | |
--cont-batching | 连续批处理,提升并发效率 | |
| --batch-size 128 --ubatch-size 128 | 批次减小后,会降低内存需求,但运算变慢一些 | |
--threads 8 | CPU 线程(物理核心数最佳) | |
| 生成质量 | --temp 0.1 | 代码用低温,更严谨 |
--min-p 0.05 | 防胡言乱语 | |
--repeat-penalty 1.1 | 防重复输出 | |
| 辅助参数 | --log-file xxx.log | 日志持久化到文件,避免终端丢失 |
--log-timestamps | 日志带时间戳,方便定位 | |
--log-prefix "[端口]" | 区分两个模型的日志 | |
--verbose | 输出完整对话请求 / 响应、推理细节 | |
--metrics | 启用 Prometheus 指标接口(看队列长度、请求数) | |
--slots | 启用槽位状态接口(看每个槽位是否空闲 / 处理中) |