Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: [benchmark][retrieve] After releasing the loaded collection, the memory usage of milvus standalone still exceeds 1G #39075

Open
1 task done
wangting0128 opened this issue Jan 8, 2025 · 1 comment
Assignees
Labels
kind/bug Issues or changes related a bug test/benchmark benchmark test triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@wangting0128
Copy link
Contributor

Is there an existing issue for this?

  • I have searched the existing issues

Environment

- Milvus version:master-20250107-3739446a-amd64
- Deployment mode(standalone or cluster):standalone
- MQ type(rocksmq, pulsar or kafka):rocksmq    
- SDK version(e.g. pymilvus v2.0.0rc2):2.5.0rc124
- OS(Ubuntu or CentOS): 
- CPU/Memory: 
- GPU: 
- Others:

Current Behavior

server:

NAME                                                              READY   STATUS                   RESTARTS        AGE     IP              NODE         NOMINATED NODE   READINESS GATES
wt-test-array-1-etcd-0                                            1/1     Running                  0               24h     10.104.23.75    4am-node27   <none>           <none>
wt-test-array-1-milvus-standalone-57b9b958cf-pzdll                1/1     Running                  1 (22h ago)     24h     10.104.23.74    4am-node27   <none>           <none>
wt-test-array-1-minio-5b67b979cd-4zl2x                            1/1     Running                  0               24h     10.104.23.76    4am-node27   <none>           <none>

test steps:

1. deploy a standalone milvus <- memory usage of milvus standalone is 275M
2.creata a collection with fields: 'id'(primary key), 'float_vector'(3dim), 'array_varchar_1'(max_capacity=10)
3. build FLAT index on field 'float_vector'
4. insert 200 million data
5. flush collection
6. rebuild index
7. load collection
8. release collection <- memory usage of milvus standalone still exceeds 1G

step 1

截屏2025-01-08 15 30 02

step 8

截屏2025-01-08 15 30 34 截屏2025-01-08 15 30 48 截屏2025-01-08 15 31 03

Expected Behavior

No response

Steps To Reproduce

No response

Milvus Log

No response

Anything else?

server config:

extraConfigFiles:
  user.yaml: |
    dataCoord:
      segment:
        sealProportion: 1
    indexCoord:
      scheduler:
        interval: 1
    queryNode:
      cache:
        warmup: sync
      mmap:
        vectorField: true
        vectorIndex: true
        scalarField: true
        scalarIndex: true
standalone:
  resources:
    limits:
      cpu: '2.0'
      memory: 16Gi
    requests:
      cpu: '1.0'
      memory: 10Gi
  nodeSelector:
    node-role/nvme: 'true'

client config:

{
     "dataset_params": {
          "metric_type": "L2",
          "dim": 3,
          "dataset_name": "local",
          "dataset_size": "200m",
          "ni_per": 50000,
          "scalars_params": {
               "array_varchar_1": {
                    "params": {
                         "max_length": 100,
                         "max_capacity": 10
                    }
               }
          }
     },
     "collection_params": {
          "shards_num": 1,
          "other_fields": [
               "array_varchar_1"
          ],
          "collection_name": "scene_array_varchar_1"
     },
     "index_params": {
          "index_type": "FLAT",
          "index_param": {}
     },
     "concurrent_params": {
          "concurrent_number": [
               10,
               100
          ],
          "during_time": "30m",
          "interval": 20
     },
     "concurrent_tasks": [
          {
               "type": "query",
               "weight": 1,
               "params": {
                    "expr": "",
                    "output_fields": [
                         "array_varchar_1"
                    ],
                    "limit": 10,
                    "timeout": 600,
                    "random_data": true,
                    "random_count": 10,
                    "random_range": [
                         0,
                         200000000
                    ],
                    "field_name": "id",
                    "field_type": "int64"
               }
          }
     ]
}
@wangting0128 wangting0128 added kind/bug Issues or changes related a bug needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. test/benchmark benchmark test labels Jan 8, 2025
@wangting0128 wangting0128 added this to the 2.6.0 milestone Jan 8, 2025
@yanliang567 yanliang567 added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jan 8, 2025
@yanliang567 yanliang567 removed their assignment Jan 8, 2025
@xiaofan-luan
Copy link
Collaborator

Don't think this is a problem.
RocksDB, go and many other cpp code won't release the resource. 1GB is not a big deal.

/assign @wangting0128

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Issues or changes related a bug test/benchmark benchmark test triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

4 participants