This usually happens if a committer has different VCS usernames across multiple VCS services (e.g. GitHub, GitLab, Bitbucket), or across multiple environments (e.g. Git on a home laptop and office PC), and these extra usernames have not been configured in TeamCity, or the committer has no associated user account in TeamCity.
When TeamCity detects a commit, it tries to link it to an existing TeamCity user based on the configured VCS usernames and username patterns. If a commit can't be automatically matched to an existing TeamCity user, then such a commit is linked to an "unknown" committer.
To avoid "unknown" committers consuming your committer slots, we recommend registering all committers as TeamCity users and configuring their VCS usernames, as described in our documentation.
At the moment if a user registers in TeamCity after making commits, TeamCity won't reprocess the usernames in these old commits. We are working on a feature which will automatically link "unknown" committers to known TeamCity users. You can review the corresponding issue in our issue tracker here.
While waiting for this feature to be developed, you can reach out to us by submitting a ticket and we can manually drop old "unknown" commits from your TeamCity database. You will need to let us know the full list of affected VCS usernames, your TeamCity Cloud domain name, and ensure your users have already configured all of their VCS usernames both in TeamCity and in Git.